From c0a3a64a2a3ffa90da96c465f0c4eb156e415d01 Mon Sep 17 00:00:00 2001 From: MayDomine <1583143678@qq.com> Date: Thu, 31 Jul 2025 18:49:26 +0800 Subject: [PATCH] Add two toolkit for training/inference --- examples/BMTrain/.dockerignore | 147 + .../.github/ISSUE_TEMPLATE/bug_report.yml | 79 + .../.github/ISSUE_TEMPLATE/build_err.yml | 94 + .../ISSUE_TEMPLATE/features_request.yml | 30 + .../BMTrain/.github/pull_request_template.md | 29 + examples/BMTrain/.github/workflows/build.yml | 35 + .../BMTrain/.github/workflows/build_whl.yml | 89 + .../BMTrain/.github/workflows/publish.yaml | 41 + .../BMTrain/.github/workflows/release.yml | 44 + examples/BMTrain/.gitignore | 155 + examples/BMTrain/CMakeLists.txt | 65 + examples/BMTrain/CONTRIBUTING.md | 55 + examples/BMTrain/Dockerfile | 20 + examples/BMTrain/LICENSE | 201 ++ examples/BMTrain/MANIFEST.in | 4 + examples/BMTrain/README-ZH.md | 369 +++ examples/BMTrain/README.md | 375 +++ examples/BMTrain/Release.txt | 9 + examples/BMTrain/bmtrain/__init__.py | 26 + .../BMTrain/bmtrain/benchmark/__init__.py | 3 + .../BMTrain/bmtrain/benchmark/all_gather.py | 28 + .../bmtrain/benchmark/reduce_scatter.py | 28 + .../BMTrain/bmtrain/benchmark/send_recv.py | 31 + examples/BMTrain/bmtrain/benchmark/shape.py | 3 + examples/BMTrain/bmtrain/benchmark/utils.py | 11 + examples/BMTrain/bmtrain/block_layer.py | 726 +++++ examples/BMTrain/bmtrain/debug.py | 34 + .../BMTrain/bmtrain/distributed/__init__.py | 1 + examples/BMTrain/bmtrain/distributed/ops.py | 223 ++ examples/BMTrain/bmtrain/global_var.py | 35 + examples/BMTrain/bmtrain/hook_func.py | 121 + examples/BMTrain/bmtrain/init.py | 258 ++ examples/BMTrain/bmtrain/inspect/__init__.py | 3 + examples/BMTrain/bmtrain/inspect/format.py | 64 + examples/BMTrain/bmtrain/inspect/model.py | 246 ++ examples/BMTrain/bmtrain/inspect/tensor.py | 383 +++ examples/BMTrain/bmtrain/layer.py | 143 + examples/BMTrain/bmtrain/loss/__init__.py | 1 + examples/BMTrain/bmtrain/loss/_function.py | 182 ++ .../BMTrain/bmtrain/loss/cross_entropy.py | 260 ++ .../BMTrain/bmtrain/lr_scheduler/__init__.py | 6 + .../BMTrain/bmtrain/lr_scheduler/cosine.py | 18 + .../bmtrain/lr_scheduler/exponential.py | 20 + .../BMTrain/bmtrain/lr_scheduler/linear.py | 19 + .../BMTrain/bmtrain/lr_scheduler/no_decay.py | 14 + examples/BMTrain/bmtrain/lr_scheduler/noam.py | 15 + .../BMTrain/bmtrain/lr_scheduler/warmup.py | 72 + examples/BMTrain/bmtrain/nccl/__init__.py | 336 +++ examples/BMTrain/bmtrain/nccl/enums.py | 27 + examples/BMTrain/bmtrain/nn/__init__.py | 5 + .../bmtrain/nn/column_parallel_linear.py | 80 + examples/BMTrain/bmtrain/nn/linear.py | 56 + .../BMTrain/bmtrain/nn/parallel_embedding.py | 59 + .../bmtrain/nn/parallel_linear_func.py | 352 +++ .../BMTrain/bmtrain/nn/row_parallel_linear.py | 88 + examples/BMTrain/bmtrain/optim/__init__.py | 3 + .../BMTrain/bmtrain/optim/_distributed.py | 40 + examples/BMTrain/bmtrain/optim/_function.py | 218 ++ examples/BMTrain/bmtrain/optim/adam.py | 252 ++ .../BMTrain/bmtrain/optim/adam_offload.py | 386 +++ .../BMTrain/bmtrain/optim/optim_manager.py | 226 ++ examples/BMTrain/bmtrain/param_init.py | 105 + examples/BMTrain/bmtrain/parameter.py | 206 ++ examples/BMTrain/bmtrain/pipe_layer.py | 314 +++ examples/BMTrain/bmtrain/store.py | 325 +++ examples/BMTrain/bmtrain/synchronize.py | 73 + examples/BMTrain/bmtrain/utils.py | 184 ++ examples/BMTrain/bmtrain/wrapper.py | 54 + examples/BMTrain/bmtrain/zero_context.py | 203 ++ examples/BMTrain/cmake/FindNCCL.cmake | 100 + examples/BMTrain/csrc/bind.cpp | 35 + examples/BMTrain/csrc/cuda/adam_cuda.cu | 126 + examples/BMTrain/csrc/cuda/bfloat16.cuh | 5 + examples/BMTrain/csrc/cuda/cross_entropy.cu | 315 +++ examples/BMTrain/csrc/cuda/has_inf_nan.cu | 145 + examples/BMTrain/csrc/cuda/reduce.cuh | 114 + examples/BMTrain/csrc/include/adam_cpu.hpp | 557 ++++ examples/BMTrain/csrc/include/bind.hpp | 111 + examples/BMTrain/csrc/include/cpu_info.h | 38 + examples/BMTrain/csrc/include/nccl.hpp | 188 ++ examples/BMTrain/doc_requirements.txt | 5 + examples/BMTrain/docs/Makefile | 20 + examples/BMTrain/docs/UPDATE_0.2.0.md | 79 + examples/BMTrain/docs/UPDATE_0.2.3.md | 26 + examples/BMTrain/docs/UPDATE_1.0.0.md | 72 + examples/BMTrain/docs/logo.png | Bin 0 -> 47918 bytes examples/BMTrain/docs/make.bat | 35 + .../docs/source-en/_static/css/custom.css | 124 + .../docs/source-en/_static/js/custom.js | 7 + .../source-en/api/bmtrain.benchmark.rst_bk | 53 + .../source-en/api/bmtrain.distributed.rst_bk | 21 + .../docs/source-en/api/bmtrain.inspect.rst | 37 + .../docs/source-en/api/bmtrain.loss.rst | 21 + .../source-en/api/bmtrain.lr_scheduler.rst | 61 + .../docs/source-en/api/bmtrain.nccl.rst_bk | 21 + .../BMTrain/docs/source-en/api/bmtrain.nn.rst | 53 + .../docs/source-en/api/bmtrain.optim.rst | 37 + .../BMTrain/docs/source-en/api/bmtrain.rst | 140 + .../BMTrain/docs/source-en/api/modules.rst | 7 + examples/BMTrain/docs/source-en/conf.py | 79 + examples/BMTrain/docs/source-en/index.rst | 39 + .../docs/source-en/notes/image/ZeRO3.png | Bin 0 -> 79501 bytes .../notes/image/communication_example.png | Bin 0 -> 805075 bytes .../notes/image/communication_fig.png | Bin 0 -> 46837 bytes .../docs/source-en/notes/image/cpu.png | Bin 0 -> 89060 bytes .../source-en/notes/image/zero3_example.png | Bin 0 -> 795194 bytes .../docs/source-en/notes/installation.md | 45 + .../docs/source-en/notes/quickstart.md | 159 ++ examples/BMTrain/docs/source-en/notes/tech.md | 11 + .../docs/source/_static/css/custom.css | 124 + .../BMTrain/docs/source/_static/js/custom.js | 7 + .../docs/source/api/bmtrain.benchmark.rst_bk | 53 + .../source/api/bmtrain.distributed.rst_bk | 21 + .../docs/source/api/bmtrain.inspect.rst | 37 + .../BMTrain/docs/source/api/bmtrain.loss.rst | 21 + .../docs/source/api/bmtrain.lr_scheduler.rst | 61 + .../docs/source/api/bmtrain.nccl.rst_bk | 21 + .../BMTrain/docs/source/api/bmtrain.nn.rst | 53 + .../BMTrain/docs/source/api/bmtrain.optim.rst | 37 + examples/BMTrain/docs/source/api/bmtrain.rst | 140 + examples/BMTrain/docs/source/api/modules.rst | 7 + examples/BMTrain/docs/source/conf.py | 72 + examples/BMTrain/docs/source/index.rst | 39 + .../BMTrain/docs/source/notes/image/ZeRO3.png | Bin 0 -> 79501 bytes .../notes/image/communication_example.png | Bin 0 -> 805075 bytes .../source/notes/image/communication_fig.png | Bin 0 -> 46837 bytes .../BMTrain/docs/source/notes/image/cpu.png | Bin 0 -> 89060 bytes .../docs/source/notes/image/zero3_example.png | Bin 0 -> 795194 bytes .../BMTrain/docs/source/notes/installation.md | 45 + .../BMTrain/docs/source/notes/quickstart.md | 146 + examples/BMTrain/docs/source/notes/tech.md | 11 + examples/BMTrain/example/README.md | 5 + examples/BMTrain/example/benchmark.py | 12 + examples/BMTrain/example/layers/__init__.py | 5 + examples/BMTrain/example/layers/attention.py | 118 + examples/BMTrain/example/layers/embedding.py | 102 + .../BMTrain/example/layers/feedforward.py | 23 + examples/BMTrain/example/layers/layernorm.py | 34 + .../BMTrain/example/layers/transformer.py | 34 + examples/BMTrain/example/models/__init__.py | 1 + examples/BMTrain/example/models/gpt.py | 64 + examples/BMTrain/example/run.sh | 3 + examples/BMTrain/example/sbatch.sh | 20 + examples/BMTrain/example/train.py | 138 + examples/BMTrain/other_requirements.txt | 6 + examples/BMTrain/pyproject.toml | 8 + examples/BMTrain/setup.py | 113 + examples/BMTrain/tests/test_all.py | 43 + .../tests/test_column_parallel_linear.py | 74 + .../tests/test_different_output_shape.py | 50 + examples/BMTrain/tests/test_dropout.py | 45 + examples/BMTrain/tests/test_grad_accu.py | 80 + examples/BMTrain/tests/test_has_inf_nan.py | 37 + .../BMTrain/tests/test_init_parameters.py | 223 ++ .../tests/test_init_parameters_multi_gpu.py | 146 + .../BMTrain/tests/test_inspector_hidden.py | 241 ++ examples/BMTrain/tests/test_load_ckpt.py | 78 + examples/BMTrain/tests/test_loss_func.py | 79 + examples/BMTrain/tests/test_middle_hidden.py | 212 ++ examples/BMTrain/tests/test_model_wrapper.py | 221 ++ examples/BMTrain/tests/test_multi_return.py | 126 + examples/BMTrain/tests/test_nccl_backward.py | 43 + examples/BMTrain/tests/test_no_grad.py | 90 + examples/BMTrain/tests/test_optim.py | 94 + examples/BMTrain/tests/test_optim_state.py | 135 + examples/BMTrain/tests/test_other_hidden.py | 189 ++ .../BMTrain/tests/test_parallel_projection.py | 55 + examples/BMTrain/tests/test_requires_grad.py | 107 + .../tests/test_requires_grad_multi_gpu.py | 96 + .../BMTrain/tests/test_row_parallel_linear.py | 54 + examples/BMTrain/tests/test_send_recv.py | 22 + examples/BMTrain/tests/test_store.py | 13 + examples/BMTrain/tests/test_synchronize.py | 26 + examples/BMTrain/tests/test_training.py | 516 ++++ examples/BMTrain/tests/utils.py | 14 + examples/CPM.cu/.arsync | 10 + examples/CPM.cu/.gitignore | 222 ++ examples/CPM.cu/.gitmodules | 3 + examples/CPM.cu/LICENSE | 201 ++ examples/CPM.cu/README.md | 167 ++ examples/CPM.cu/README_ZH.md | 165 ++ examples/CPM.cu/cpmcu/__init__.py | 0 examples/CPM.cu/cpmcu/llm.py | 422 +++ .../CPM.cu/cpmcu/llm_w4a16_gptq_marlin.py | 434 +++ examples/CPM.cu/cpmcu/speculative/__init__.py | 1 + examples/CPM.cu/cpmcu/speculative/eagle.py | 99 + .../speculative/eagle_base_quant/__init__.py | 0 .../eagle_base_w4a16_marlin_gptq.py | 103 + .../speculative/hier_spec_quant/__init__.py | 0 .../hier_eagle_w4a16_gm_spec_w4a16_gm.py | 268 ++ .../cpmcu/speculative/spec_quant/__init__.py | 0 .../spec_w4a16_gm_for_w4a16_gm_model.py | 160 ++ .../CPM.cu/cpmcu/speculative/tree_drafter.py | 255 ++ .../tree_drafter_base_quant/__init__.py | 0 .../tree_drafter_w4a16_gptq_marlin.py | 240 ++ .../model_convert/convert_llama_format.py | 44 + .../CPM.cu/model_convert/convert_w4a16.py | 287 ++ .../model_convert/post_process_w4a16_eagle.py | 48 + .../CPM.cu/scripts/fr_spec/gen_fr_index.py | 89 + .../scripts/model_convert/convert_w4a16.sh | 9 + examples/CPM.cu/setup.py | 317 +++ examples/CPM.cu/src/entry.cu | 534 ++++ examples/CPM.cu/src/flash_attn/flash_api.hpp | 392 +++ examples/CPM.cu/src/flash_attn/src/alibi.h | 74 + .../CPM.cu/src/flash_attn/src/block_info.h | 54 + examples/CPM.cu/src/flash_attn/src/dropout.h | 94 + examples/CPM.cu/src/flash_attn/src/flash.h | 193 ++ .../src/flash_attn/src/flash_blockmask.h | 108 + .../src/flash_fwd_hdim128_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim128_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim128_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim128_fp16_sm80.cu | 10 + .../src/flash_fwd_hdim160_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim160_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim160_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim160_fp16_sm80.cu | 10 + .../src/flash_fwd_hdim192_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim192_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim192_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim192_fp16_sm80.cu | 10 + .../src/flash_fwd_hdim224_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim224_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim224_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim224_fp16_sm80.cu | 10 + .../src/flash_fwd_hdim256_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim256_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim256_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim256_fp16_sm80.cu | 10 + .../src/flash_fwd_hdim32_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim32_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim32_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim32_fp16_sm80.cu | 10 + .../src/flash_fwd_hdim64_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim64_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim64_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim64_fp16_sm80.cu | 10 + .../src/flash_fwd_hdim96_bf16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim96_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim96_fp16_causal_sm80.cu | 10 + .../src/flash_fwd_hdim96_fp16_sm80.cu | 10 + .../src/flash_attn/src/flash_fwd_kernel.h | 2503 +++++++++++++++++ .../src/flash_fwd_launch_template.h | 382 +++ ...lash_fwd_split_hdim128_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim128_bf16_sm80.cu | 7 + ...lash_fwd_split_hdim128_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim128_fp16_sm80.cu | 7 + ...lash_fwd_split_hdim160_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim160_bf16_sm80.cu | 7 + ...lash_fwd_split_hdim160_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim160_fp16_sm80.cu | 7 + ...lash_fwd_split_hdim192_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim192_bf16_sm80.cu | 7 + ...lash_fwd_split_hdim192_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim192_fp16_sm80.cu | 7 + ...lash_fwd_split_hdim224_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim224_bf16_sm80.cu | 7 + ...lash_fwd_split_hdim224_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim224_fp16_sm80.cu | 7 + ...lash_fwd_split_hdim256_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim256_bf16_sm80.cu | 7 + ...lash_fwd_split_hdim256_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim256_fp16_sm80.cu | 7 + ...flash_fwd_split_hdim32_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim32_bf16_sm80.cu | 7 + ...flash_fwd_split_hdim32_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim32_fp16_sm80.cu | 7 + ...flash_fwd_split_hdim64_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim64_bf16_sm80.cu | 7 + ...flash_fwd_split_hdim64_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim64_fp16_sm80.cu | 7 + ...flash_fwd_split_hdim96_bf16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim96_bf16_sm80.cu | 7 + ...flash_fwd_split_hdim96_fp16_causal_sm80.cu | 7 + .../src/flash_fwd_split_hdim96_fp16_sm80.cu | 7 + .../src/flash_attn/src/generate_kernels.py | 108 + .../CPM.cu/src/flash_attn/src/kernel_traits.h | 349 +++ examples/CPM.cu/src/flash_attn/src/mask.h | 328 +++ examples/CPM.cu/src/flash_attn/src/philox.cuh | 51 + examples/CPM.cu/src/flash_attn/src/rotary.h | 152 + examples/CPM.cu/src/flash_attn/src/softmax.h | 259 ++ .../CPM.cu/src/flash_attn/src/static_switch.h | 142 + examples/CPM.cu/src/flash_attn/src/utils.h | 411 +++ examples/CPM.cu/src/model/activation.cuh | 83 + examples/CPM.cu/src/model/attn.cuh | 235 ++ examples/CPM.cu/src/model/drafter.cuh | 48 + examples/CPM.cu/src/model/eagle.cuh | 517 ++++ .../eagle_base_w4a16_gptq_marlin.cuh | 260 ++ examples/CPM.cu/src/model/elementwise.cuh | 87 + examples/CPM.cu/src/model/embedding.cuh | 53 + examples/CPM.cu/src/model/ffn.cuh | 91 + .../hier_ea_w4a16_gm_rot_spec_w4a16_gm.cuh | 706 +++++ .../hier_ea_w4a16_gm_spec_w4a16_gm.cuh | 662 +++++ examples/CPM.cu/src/model/kvcache.cuh | 65 + examples/CPM.cu/src/model/layer.cuh | 90 + examples/CPM.cu/src/model/linear.cuh | 101 + examples/CPM.cu/src/model/mask.cuh | 18 + examples/CPM.cu/src/model/memory.cuh | 183 ++ .../src/model/minicpm4/minicpm4_attn.cuh | 324 +++ .../src/model/minicpm4/minicpm4_eagle.cuh | 419 +++ .../src/model/minicpm4/minicpm4_kvcache.cuh | 316 +++ .../src/model/minicpm4/minicpm4_layer.cuh | 85 + .../src/model/minicpm4/minicpm4_model.cuh | 160 ++ .../minicpm4_w4a16_gptq_marlin_attn.cuh | 319 +++ .../minicpm4_w4a16_gptq_marlin_layer.cuh | 98 + .../minicpm4_w4a16_gptq_marlin_model.cuh | 161 ++ examples/CPM.cu/src/model/model.cuh | 174 ++ examples/CPM.cu/src/model/norm.cuh | 154 + examples/CPM.cu/src/model/rotary.cuh | 68 + .../spec_quant/w4a16_gm_spec_w4a16_gm.cuh | 247 ++ examples/CPM.cu/src/model/topk.cuh | 292 ++ examples/CPM.cu/src/model/tree_drafter.cuh | 111 + .../w4a16_gptq_marlin_attn.cuh | 178 ++ .../w4a16_gptq_marlin_ffn.cuh | 70 + .../w4a16_gptq_marlin_layer.cuh | 98 + .../w4a16_gptq_marlin_linear.cuh | 143 + .../w4a16_gptq_marlin_model.cuh | 157 ++ examples/CPM.cu/src/perf.cu | 9 + examples/CPM.cu/src/perf.cuh | 291 ++ .../qgemm/gptq_marlin/core/scalar_type.hpp | 348 +++ .../src/qgemm/gptq_marlin/gptq_marlin.cu | 2175 ++++++++++++++ .../src/qgemm/gptq_marlin/gptq_marlin.cuh | 27 + .../CPM.cu/src/qgemm/gptq_marlin/marlin.cuh | 87 + .../src/qgemm/gptq_marlin/marlin_dtypes.cuh | 75 + examples/CPM.cu/src/signal_handler.cu | 126 + examples/CPM.cu/src/signal_handler.cuh | 26 + examples/CPM.cu/src/trait.cuh | 37 + examples/CPM.cu/src/utils.cu | 25 + examples/CPM.cu/src/utils.cuh | 60 + examples/CPM.cu/src/utilsq.cuh | 421 +++ examples/CPM.cu/tests/long_prompt_gen.py | 110 + examples/CPM.cu/tests/test_generate.py | 544 ++++ 331 files changed, 37339 insertions(+) create mode 100644 examples/BMTrain/.dockerignore create mode 100644 examples/BMTrain/.github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 examples/BMTrain/.github/ISSUE_TEMPLATE/build_err.yml create mode 100644 examples/BMTrain/.github/ISSUE_TEMPLATE/features_request.yml create mode 100644 examples/BMTrain/.github/pull_request_template.md create mode 100644 examples/BMTrain/.github/workflows/build.yml create mode 100644 examples/BMTrain/.github/workflows/build_whl.yml create mode 100644 examples/BMTrain/.github/workflows/publish.yaml create mode 100644 examples/BMTrain/.github/workflows/release.yml create mode 100644 examples/BMTrain/.gitignore create mode 100644 examples/BMTrain/CMakeLists.txt create mode 100644 examples/BMTrain/CONTRIBUTING.md create mode 100644 examples/BMTrain/Dockerfile create mode 100644 examples/BMTrain/LICENSE create mode 100644 examples/BMTrain/MANIFEST.in create mode 100644 examples/BMTrain/README-ZH.md create mode 100644 examples/BMTrain/README.md create mode 100644 examples/BMTrain/Release.txt create mode 100644 examples/BMTrain/bmtrain/__init__.py create mode 100644 examples/BMTrain/bmtrain/benchmark/__init__.py create mode 100644 examples/BMTrain/bmtrain/benchmark/all_gather.py create mode 100644 examples/BMTrain/bmtrain/benchmark/reduce_scatter.py create mode 100644 examples/BMTrain/bmtrain/benchmark/send_recv.py create mode 100644 examples/BMTrain/bmtrain/benchmark/shape.py create mode 100644 examples/BMTrain/bmtrain/benchmark/utils.py create mode 100644 examples/BMTrain/bmtrain/block_layer.py create mode 100644 examples/BMTrain/bmtrain/debug.py create mode 100644 examples/BMTrain/bmtrain/distributed/__init__.py create mode 100644 examples/BMTrain/bmtrain/distributed/ops.py create mode 100644 examples/BMTrain/bmtrain/global_var.py create mode 100644 examples/BMTrain/bmtrain/hook_func.py create mode 100644 examples/BMTrain/bmtrain/init.py create mode 100644 examples/BMTrain/bmtrain/inspect/__init__.py create mode 100644 examples/BMTrain/bmtrain/inspect/format.py create mode 100644 examples/BMTrain/bmtrain/inspect/model.py create mode 100644 examples/BMTrain/bmtrain/inspect/tensor.py create mode 100644 examples/BMTrain/bmtrain/layer.py create mode 100644 examples/BMTrain/bmtrain/loss/__init__.py create mode 100644 examples/BMTrain/bmtrain/loss/_function.py create mode 100644 examples/BMTrain/bmtrain/loss/cross_entropy.py create mode 100644 examples/BMTrain/bmtrain/lr_scheduler/__init__.py create mode 100644 examples/BMTrain/bmtrain/lr_scheduler/cosine.py create mode 100644 examples/BMTrain/bmtrain/lr_scheduler/exponential.py create mode 100644 examples/BMTrain/bmtrain/lr_scheduler/linear.py create mode 100644 examples/BMTrain/bmtrain/lr_scheduler/no_decay.py create mode 100644 examples/BMTrain/bmtrain/lr_scheduler/noam.py create mode 100644 examples/BMTrain/bmtrain/lr_scheduler/warmup.py create mode 100644 examples/BMTrain/bmtrain/nccl/__init__.py create mode 100644 examples/BMTrain/bmtrain/nccl/enums.py create mode 100644 examples/BMTrain/bmtrain/nn/__init__.py create mode 100644 examples/BMTrain/bmtrain/nn/column_parallel_linear.py create mode 100644 examples/BMTrain/bmtrain/nn/linear.py create mode 100644 examples/BMTrain/bmtrain/nn/parallel_embedding.py create mode 100644 examples/BMTrain/bmtrain/nn/parallel_linear_func.py create mode 100644 examples/BMTrain/bmtrain/nn/row_parallel_linear.py create mode 100644 examples/BMTrain/bmtrain/optim/__init__.py create mode 100644 examples/BMTrain/bmtrain/optim/_distributed.py create mode 100644 examples/BMTrain/bmtrain/optim/_function.py create mode 100644 examples/BMTrain/bmtrain/optim/adam.py create mode 100644 examples/BMTrain/bmtrain/optim/adam_offload.py create mode 100644 examples/BMTrain/bmtrain/optim/optim_manager.py create mode 100644 examples/BMTrain/bmtrain/param_init.py create mode 100644 examples/BMTrain/bmtrain/parameter.py create mode 100644 examples/BMTrain/bmtrain/pipe_layer.py create mode 100644 examples/BMTrain/bmtrain/store.py create mode 100644 examples/BMTrain/bmtrain/synchronize.py create mode 100644 examples/BMTrain/bmtrain/utils.py create mode 100644 examples/BMTrain/bmtrain/wrapper.py create mode 100644 examples/BMTrain/bmtrain/zero_context.py create mode 100644 examples/BMTrain/cmake/FindNCCL.cmake create mode 100644 examples/BMTrain/csrc/bind.cpp create mode 100644 examples/BMTrain/csrc/cuda/adam_cuda.cu create mode 100644 examples/BMTrain/csrc/cuda/bfloat16.cuh create mode 100644 examples/BMTrain/csrc/cuda/cross_entropy.cu create mode 100644 examples/BMTrain/csrc/cuda/has_inf_nan.cu create mode 100644 examples/BMTrain/csrc/cuda/reduce.cuh create mode 100644 examples/BMTrain/csrc/include/adam_cpu.hpp create mode 100644 examples/BMTrain/csrc/include/bind.hpp create mode 100644 examples/BMTrain/csrc/include/cpu_info.h create mode 100644 examples/BMTrain/csrc/include/nccl.hpp create mode 100644 examples/BMTrain/doc_requirements.txt create mode 100644 examples/BMTrain/docs/Makefile create mode 100644 examples/BMTrain/docs/UPDATE_0.2.0.md create mode 100644 examples/BMTrain/docs/UPDATE_0.2.3.md create mode 100644 examples/BMTrain/docs/UPDATE_1.0.0.md create mode 100644 examples/BMTrain/docs/logo.png create mode 100644 examples/BMTrain/docs/make.bat create mode 100644 examples/BMTrain/docs/source-en/_static/css/custom.css create mode 100644 examples/BMTrain/docs/source-en/_static/js/custom.js create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.benchmark.rst_bk create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.distributed.rst_bk create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.inspect.rst create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.loss.rst create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.lr_scheduler.rst create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.nccl.rst_bk create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.nn.rst create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.optim.rst create mode 100644 examples/BMTrain/docs/source-en/api/bmtrain.rst create mode 100644 examples/BMTrain/docs/source-en/api/modules.rst create mode 100644 examples/BMTrain/docs/source-en/conf.py create mode 100644 examples/BMTrain/docs/source-en/index.rst create mode 100644 examples/BMTrain/docs/source-en/notes/image/ZeRO3.png create mode 100644 examples/BMTrain/docs/source-en/notes/image/communication_example.png create mode 100644 examples/BMTrain/docs/source-en/notes/image/communication_fig.png create mode 100644 examples/BMTrain/docs/source-en/notes/image/cpu.png create mode 100644 examples/BMTrain/docs/source-en/notes/image/zero3_example.png create mode 100644 examples/BMTrain/docs/source-en/notes/installation.md create mode 100644 examples/BMTrain/docs/source-en/notes/quickstart.md create mode 100644 examples/BMTrain/docs/source-en/notes/tech.md create mode 100644 examples/BMTrain/docs/source/_static/css/custom.css create mode 100644 examples/BMTrain/docs/source/_static/js/custom.js create mode 100644 examples/BMTrain/docs/source/api/bmtrain.benchmark.rst_bk create mode 100644 examples/BMTrain/docs/source/api/bmtrain.distributed.rst_bk create mode 100644 examples/BMTrain/docs/source/api/bmtrain.inspect.rst create mode 100644 examples/BMTrain/docs/source/api/bmtrain.loss.rst create mode 100644 examples/BMTrain/docs/source/api/bmtrain.lr_scheduler.rst create mode 100644 examples/BMTrain/docs/source/api/bmtrain.nccl.rst_bk create mode 100644 examples/BMTrain/docs/source/api/bmtrain.nn.rst create mode 100644 examples/BMTrain/docs/source/api/bmtrain.optim.rst create mode 100644 examples/BMTrain/docs/source/api/bmtrain.rst create mode 100644 examples/BMTrain/docs/source/api/modules.rst create mode 100644 examples/BMTrain/docs/source/conf.py create mode 100644 examples/BMTrain/docs/source/index.rst create mode 100644 examples/BMTrain/docs/source/notes/image/ZeRO3.png create mode 100644 examples/BMTrain/docs/source/notes/image/communication_example.png create mode 100644 examples/BMTrain/docs/source/notes/image/communication_fig.png create mode 100644 examples/BMTrain/docs/source/notes/image/cpu.png create mode 100644 examples/BMTrain/docs/source/notes/image/zero3_example.png create mode 100644 examples/BMTrain/docs/source/notes/installation.md create mode 100644 examples/BMTrain/docs/source/notes/quickstart.md create mode 100644 examples/BMTrain/docs/source/notes/tech.md create mode 100644 examples/BMTrain/example/README.md create mode 100644 examples/BMTrain/example/benchmark.py create mode 100644 examples/BMTrain/example/layers/__init__.py create mode 100644 examples/BMTrain/example/layers/attention.py create mode 100644 examples/BMTrain/example/layers/embedding.py create mode 100644 examples/BMTrain/example/layers/feedforward.py create mode 100644 examples/BMTrain/example/layers/layernorm.py create mode 100644 examples/BMTrain/example/layers/transformer.py create mode 100644 examples/BMTrain/example/models/__init__.py create mode 100644 examples/BMTrain/example/models/gpt.py create mode 100644 examples/BMTrain/example/run.sh create mode 100644 examples/BMTrain/example/sbatch.sh create mode 100644 examples/BMTrain/example/train.py create mode 100644 examples/BMTrain/other_requirements.txt create mode 100644 examples/BMTrain/pyproject.toml create mode 100644 examples/BMTrain/setup.py create mode 100644 examples/BMTrain/tests/test_all.py create mode 100644 examples/BMTrain/tests/test_column_parallel_linear.py create mode 100644 examples/BMTrain/tests/test_different_output_shape.py create mode 100644 examples/BMTrain/tests/test_dropout.py create mode 100644 examples/BMTrain/tests/test_grad_accu.py create mode 100644 examples/BMTrain/tests/test_has_inf_nan.py create mode 100644 examples/BMTrain/tests/test_init_parameters.py create mode 100644 examples/BMTrain/tests/test_init_parameters_multi_gpu.py create mode 100644 examples/BMTrain/tests/test_inspector_hidden.py create mode 100644 examples/BMTrain/tests/test_load_ckpt.py create mode 100644 examples/BMTrain/tests/test_loss_func.py create mode 100644 examples/BMTrain/tests/test_middle_hidden.py create mode 100644 examples/BMTrain/tests/test_model_wrapper.py create mode 100644 examples/BMTrain/tests/test_multi_return.py create mode 100644 examples/BMTrain/tests/test_nccl_backward.py create mode 100644 examples/BMTrain/tests/test_no_grad.py create mode 100644 examples/BMTrain/tests/test_optim.py create mode 100644 examples/BMTrain/tests/test_optim_state.py create mode 100644 examples/BMTrain/tests/test_other_hidden.py create mode 100644 examples/BMTrain/tests/test_parallel_projection.py create mode 100644 examples/BMTrain/tests/test_requires_grad.py create mode 100644 examples/BMTrain/tests/test_requires_grad_multi_gpu.py create mode 100644 examples/BMTrain/tests/test_row_parallel_linear.py create mode 100644 examples/BMTrain/tests/test_send_recv.py create mode 100644 examples/BMTrain/tests/test_store.py create mode 100644 examples/BMTrain/tests/test_synchronize.py create mode 100644 examples/BMTrain/tests/test_training.py create mode 100644 examples/BMTrain/tests/utils.py create mode 100644 examples/CPM.cu/.arsync create mode 100644 examples/CPM.cu/.gitignore create mode 100644 examples/CPM.cu/.gitmodules create mode 100644 examples/CPM.cu/LICENSE create mode 100644 examples/CPM.cu/README.md create mode 100644 examples/CPM.cu/README_ZH.md create mode 100644 examples/CPM.cu/cpmcu/__init__.py create mode 100644 examples/CPM.cu/cpmcu/llm.py create mode 100644 examples/CPM.cu/cpmcu/llm_w4a16_gptq_marlin.py create mode 100644 examples/CPM.cu/cpmcu/speculative/__init__.py create mode 100644 examples/CPM.cu/cpmcu/speculative/eagle.py create mode 100644 examples/CPM.cu/cpmcu/speculative/eagle_base_quant/__init__.py create mode 100644 examples/CPM.cu/cpmcu/speculative/eagle_base_quant/eagle_base_w4a16_marlin_gptq.py create mode 100644 examples/CPM.cu/cpmcu/speculative/hier_spec_quant/__init__.py create mode 100644 examples/CPM.cu/cpmcu/speculative/hier_spec_quant/hier_eagle_w4a16_gm_spec_w4a16_gm.py create mode 100644 examples/CPM.cu/cpmcu/speculative/spec_quant/__init__.py create mode 100644 examples/CPM.cu/cpmcu/speculative/spec_quant/spec_w4a16_gm_for_w4a16_gm_model.py create mode 100644 examples/CPM.cu/cpmcu/speculative/tree_drafter.py create mode 100644 examples/CPM.cu/cpmcu/speculative/tree_drafter_base_quant/__init__.py create mode 100644 examples/CPM.cu/cpmcu/speculative/tree_drafter_base_quant/tree_drafter_w4a16_gptq_marlin.py create mode 100644 examples/CPM.cu/model_convert/convert_llama_format.py create mode 100644 examples/CPM.cu/model_convert/convert_w4a16.py create mode 100644 examples/CPM.cu/model_convert/post_process_w4a16_eagle.py create mode 100644 examples/CPM.cu/scripts/fr_spec/gen_fr_index.py create mode 100644 examples/CPM.cu/scripts/model_convert/convert_w4a16.sh create mode 100644 examples/CPM.cu/setup.py create mode 100644 examples/CPM.cu/src/entry.cu create mode 100644 examples/CPM.cu/src/flash_attn/flash_api.hpp create mode 100644 examples/CPM.cu/src/flash_attn/src/alibi.h create mode 100644 examples/CPM.cu/src/flash_attn/src/block_info.h create mode 100644 examples/CPM.cu/src/flash_attn/src/dropout.h create mode 100644 examples/CPM.cu/src/flash_attn/src/flash.h create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_blockmask.h create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_kernel.h create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_launch_template.h create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_causal_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_sm80.cu create mode 100644 examples/CPM.cu/src/flash_attn/src/generate_kernels.py create mode 100644 examples/CPM.cu/src/flash_attn/src/kernel_traits.h create mode 100644 examples/CPM.cu/src/flash_attn/src/mask.h create mode 100644 examples/CPM.cu/src/flash_attn/src/philox.cuh create mode 100644 examples/CPM.cu/src/flash_attn/src/rotary.h create mode 100644 examples/CPM.cu/src/flash_attn/src/softmax.h create mode 100644 examples/CPM.cu/src/flash_attn/src/static_switch.h create mode 100644 examples/CPM.cu/src/flash_attn/src/utils.h create mode 100644 examples/CPM.cu/src/model/activation.cuh create mode 100644 examples/CPM.cu/src/model/attn.cuh create mode 100644 examples/CPM.cu/src/model/drafter.cuh create mode 100644 examples/CPM.cu/src/model/eagle.cuh create mode 100644 examples/CPM.cu/src/model/eagle_base_quant/eagle_base_w4a16_gptq_marlin.cuh create mode 100644 examples/CPM.cu/src/model/elementwise.cuh create mode 100644 examples/CPM.cu/src/model/embedding.cuh create mode 100644 examples/CPM.cu/src/model/ffn.cuh create mode 100644 examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_rot_spec_w4a16_gm.cuh create mode 100644 examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_spec_w4a16_gm.cuh create mode 100644 examples/CPM.cu/src/model/kvcache.cuh create mode 100644 examples/CPM.cu/src/model/layer.cuh create mode 100644 examples/CPM.cu/src/model/linear.cuh create mode 100644 examples/CPM.cu/src/model/mask.cuh create mode 100644 examples/CPM.cu/src/model/memory.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_attn.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_eagle.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_kvcache.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_layer.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_model.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_attn.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_layer.cuh create mode 100644 examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_model.cuh create mode 100644 examples/CPM.cu/src/model/model.cuh create mode 100644 examples/CPM.cu/src/model/norm.cuh create mode 100644 examples/CPM.cu/src/model/rotary.cuh create mode 100644 examples/CPM.cu/src/model/spec_quant/w4a16_gm_spec_w4a16_gm.cuh create mode 100644 examples/CPM.cu/src/model/topk.cuh create mode 100644 examples/CPM.cu/src/model/tree_drafter.cuh create mode 100644 examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_attn.cuh create mode 100644 examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_ffn.cuh create mode 100644 examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_layer.cuh create mode 100644 examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_linear.cuh create mode 100644 examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh create mode 100644 examples/CPM.cu/src/perf.cu create mode 100644 examples/CPM.cu/src/perf.cuh create mode 100644 examples/CPM.cu/src/qgemm/gptq_marlin/core/scalar_type.hpp create mode 100644 examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cu create mode 100644 examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cuh create mode 100644 examples/CPM.cu/src/qgemm/gptq_marlin/marlin.cuh create mode 100644 examples/CPM.cu/src/qgemm/gptq_marlin/marlin_dtypes.cuh create mode 100644 examples/CPM.cu/src/signal_handler.cu create mode 100644 examples/CPM.cu/src/signal_handler.cuh create mode 100644 examples/CPM.cu/src/trait.cuh create mode 100644 examples/CPM.cu/src/utils.cu create mode 100644 examples/CPM.cu/src/utils.cuh create mode 100644 examples/CPM.cu/src/utilsq.cuh create mode 100644 examples/CPM.cu/tests/long_prompt_gen.py create mode 100644 examples/CPM.cu/tests/test_generate.py diff --git a/examples/BMTrain/.dockerignore b/examples/BMTrain/.dockerignore new file mode 100644 index 00000000..c1591543 --- /dev/null +++ b/examples/BMTrain/.dockerignore @@ -0,0 +1,147 @@ +**/__pycache__/ +**/*.py[cod] +**/*$py.class + +# C extensions +**/*.so + +# Distribution / packaging +**/.Python +**/build/ +**/develop-eggs/ +**/dist/ +**/downloads/ +**/eggs/ +**/.eggs/ +**/lib/ +**/lib64/ +**/parts/ +**/sdist/ +**/var/ +**/wheels/ +**/share/python-wheels/ +**/*.egg-info/ +**/.installed.cfg +**/*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +**/*.manifest +**/*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +**/htmlcov/ +**/.tox/ +**/.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +**/*.cover +**/*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +**/.pyre/ + +# pytype static type analyzer +**/.pytype/ + +# Cython debug symbols +cython_debug/ + +**/*.pt + +**/*.npy + +**/.DS_Store + +**/log +**/*.qdrep +!bmtrain/dist \ No newline at end of file diff --git a/examples/BMTrain/.github/ISSUE_TEMPLATE/bug_report.yml b/examples/BMTrain/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..47c89fe6 --- /dev/null +++ b/examples/BMTrain/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,79 @@ + +name: 🐞 Bug Report +description: Report a bug/issue related to the PyTorch-based parallel model training toolkit +title: "[BUG] " +labels: ["bug"] +body: +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Description of the Bug + description: Provide a clear and concise description of what the bug is. + validations: + required: true +- type: textarea + attributes: + label: Environment Information + description: | + Provide details about your environment. + Example: + - GCC version: 9.3.0 + - Torch version: 1.9.0 + - Linux system version: Ubuntu 20.04 + - CUDA version: 11.4 + - Torch's CUDA version (as per `torch.cuda.version()`): 11.3 + value: | + - GCC version: + - Torch version: + - Linux system version: + - CUDA version: + - Torch's CUDA version (as per `torch.cuda.version()`): + render: markdown + validations: + required: true +- type: textarea + attributes: + label: To Reproduce + description: Provide the steps and details to reproduce the behavior. + placeholder: | + 1. Describe your environment setup, including any specific version requirements. + 2. Clearly state the steps you took to trigger the error, including the specific code you executed. + 3. Identify the file and line number where the error occurred, along with the full traceback of the error. Make sure to have `NCCL_DEBUG=INFO` and `CUDA_LAUNCH_BLOCKING=True` set to get accurate debug information. + validations: + required: true +- type: textarea + attributes: + label: Expected Behavior + description: Describe what you expected to happen when you executed the code. + validations: + required: true +- type: textarea + attributes: + label: Screenshots + description: If applicable, please add screenshots to help explain your problem. + validations: + required: false +- type: textarea + attributes: + label: Additional Information + description: | + Provide any other relevant context or information about the problem here. + Links? References? Anything that will give us more context about the issue you are encountering! + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false +- type: checkboxes + attributes: + label: Confirmation + description: Please confirm that you have reviewed all of the above requirements and verified the information provided before submitting this issue. + options: + - label: I have reviewed and verified all the information provided in this report. + validations: + required: true + diff --git a/examples/BMTrain/.github/ISSUE_TEMPLATE/build_err.yml b/examples/BMTrain/.github/ISSUE_TEMPLATE/build_err.yml new file mode 100644 index 00000000..940fd7ed --- /dev/null +++ b/examples/BMTrain/.github/ISSUE_TEMPLATE/build_err.yml @@ -0,0 +1,94 @@ +name: 🛠️ Build Error +description: Report a build error for this project +title: "[BUILD ERROR] <title>" +labels: ["Build ERR"] +body: +- type: checkboxes + id: prev_issue + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the build error you encountered. + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Description of the Build Error + description: Provide a clear and concise description of what the build error is. + validations: + required: true +- type: textarea + attributes: + label: Expected Behavior + description: Provide a clear and concise description of what you expected to happen. + validations: + required: true +- type: textarea + attributes: + label: To Reproduce + description: Describe the steps you took to trigger the build error. Include any commands you executed or files you modified. + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error + validations: + required: true +- type: textarea + attributes: + label: Environment Information + description: | + Provide details about your environment. + Example: + - Operating System version: Ubuntu 20.04 + - GCC version: 9.3.0 + - Pybind version: 2.8.1 + - CUDA version: 11.4 + - NVIDIA NCCL CU11 version: 2.14.3 + - CMake version: 3.21.2 + - Pip version: 22.0.0 + value: | + - Operating System version: + - GCC version: + - Pybind version: + - CUDA version: + - NVIDIA NCCL CU11 version: + - CMake version: + - Pip version: + render: markdown + validations: + required: true +- type: dropdown + attributes: + label: Installation Method + description: Please indicate if the error occurred during source code installation or when using the pip install .whl method. + options: + - Source Code Installation + - Pip Install .whl Method + validations: + required: true +- type: textarea + attributes: + label: Full Error Traceback + description: Provide the complete error traceback. + validations: + required: true +- type: textarea + attributes: + label: Additional Information + description: | + Provide any other relevant context or information about the problem here. + Links? References? Anything that will give us more context about the issue you are encountering! + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false +- type: checkboxes + id: confirm + attributes: + label: Confirmation + description: Please confirm that you have reviewed all of the above requirements and verified the information provided before submitting this report. + options: + - label: I have reviewed and verified all the information provided in this report. + validations: + required: true + diff --git a/examples/BMTrain/.github/ISSUE_TEMPLATE/features_request.yml b/examples/BMTrain/.github/ISSUE_TEMPLATE/features_request.yml new file mode 100644 index 00000000..769948c2 --- /dev/null +++ b/examples/BMTrain/.github/ISSUE_TEMPLATE/features_request.yml @@ -0,0 +1,30 @@ +name: 🚀Feature Request +description: Suggest an idea for this project +title: "[Feature] <title>" +labels: ["enhancement"] +assignees: [] +body: +- type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + description: "A clear and concise description of what the problem is. Example: I'm always frustrated when..." + validations: + required: true +- type: textarea + attributes: + label: Describe the solution you'd like + description: "A clear and concise description of what you want to happen." + validations: + required: true +- type: textarea + attributes: + label: Describe alternatives you've considered + description: "A clear and concise description of any alternative solutions or features you've considered." + validations: + required: false +- type: textarea + attributes: + label: Additional context + description: "Add any other context or screenshots about the feature request here." + validations: + required: false diff --git a/examples/BMTrain/.github/pull_request_template.md b/examples/BMTrain/.github/pull_request_template.md new file mode 100644 index 00000000..87a5f9b0 --- /dev/null +++ b/examples/BMTrain/.github/pull_request_template.md @@ -0,0 +1,29 @@ +## Pull Request Template + +### Issue Reference +Please mention the issue number if applicable, or write "N/A" if it's a new feature. + +Issue #... + +### Description +Please describe your changes in detail. If it resolves an issue, please state how it resolves it. + +### Type of Change +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] This change requires a documentation update + +### How Has This Been Tested? +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. + +### Checklist +- [ ] I have read the [CONTRIBUTING](../../CONTRIBUTING.md) document. +- [ ] My code follows the code style of this project. +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. +- [ ] I have added tests to cover my changes. +- [ ] All new and existing tests passed. + +### Additional Information +Any additional information, configuration, or data that might be necessary for the review. diff --git a/examples/BMTrain/.github/workflows/build.yml b/examples/BMTrain/.github/workflows/build.yml new file mode 100644 index 00000000..11aa61f6 --- /dev/null +++ b/examples/BMTrain/.github/workflows/build.yml @@ -0,0 +1,35 @@ +name: Build + +on: + pull_request_target: + types: [opened, reopened, synchronize] + branches: + - 'dev' + - 'main' + push: + branches: + - 'dev' + +jobs: + build-archive-wheel: + + uses: OpenBMB/BMTrain/.github/workflows/build_whl.yml@main + secrets: inherit + + fake-publish: + needs: build-archive-wheel + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set Up the Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: Download distribution files + uses: actions/download-artifact@v4 + with: + name: dist + path: dist diff --git a/examples/BMTrain/.github/workflows/build_whl.yml b/examples/BMTrain/.github/workflows/build_whl.yml new file mode 100644 index 00000000..9116b598 --- /dev/null +++ b/examples/BMTrain/.github/workflows/build_whl.yml @@ -0,0 +1,89 @@ +name: Build wheels in docker and archive + +on: + workflow_call: + secrets: + DOCKERHUB_TOKEN: + required: true + DOCKERHUB_USERNAME: + required: true + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['37', '38', '39', '310', '311'] + + + steps: + + - name: Check the disk space and clear unnecessary library + run: | + rm -rf /home/runner/work/BMTrain/BMTrain/dist + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" + df -hl + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Pull Docker image + run: docker pull pytorch/manylinux-cuda113:latest + + - name: Run Docker image and execute script + run: | + version=${{ matrix.python-version }} + docker run -e BUILD_DOCKER_ENV=1 -e CUDACXX=/usr/local/cuda-11.3/bin/nvcc -e PATH="/opt/rh/devtoolset-9/root/usr/bin:$PATH" -e LD_LIBRARY_PATH="/opt/rh/devtoolset-9/root/usr/lib64:/opt/rh/devtoolset-9/root/usr/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:$LD_LIBRARY_PATH" -v ${{ github.workspace }}:/workspace/BMTrain -i pytorch/manylinux-cuda113:latest /bin/bash -c "cd /workspace/BMTrain;/opt/python/cp${version}*/bin/pip install build; /opt/python/cp${version}*/bin/python -m build .;for file in dist/*-linux_x86_64.whl; do mv \"\$file\" \"\${file//-linux_x86_64/-manylinux2014_x86_64}\"; done" + + - name: Upload wheels as artifacts + uses: actions/upload-artifact@v4 + with: + name: wheels_py${{ matrix.python-version }} + path: dist/*.whl + + - name: Upload source distribution (only once) + if: matrix.python-version == '37' # Only upload source distribution once + uses: actions/upload-artifact@v4 + with: + name: source_dist + path: dist/*.tar.gz + + archive: + runs-on: ubuntu-latest + needs: build + steps: + - name: Download all wheels + uses: actions/download-artifact@v4 + with: + path: wheels + pattern: wheels_py* + + - name: Download source distribution + uses: actions/download-artifact@v4 + with: + path: source_dist + name: source_dist + + - name: Combine all wheels into a single directory + run: | + mkdir -p dist + find wheels -name '*.whl' -exec mv {} dist/ \; + find source_dist -name '*.tar.gz' -exec mv {} dist/ \; + + - name: Archive distribution files + uses: actions/upload-artifact@v4 + with: + name: dist + path: | + dist/*.tar.gz + dist/*.whl + overwrite: true \ No newline at end of file diff --git a/examples/BMTrain/.github/workflows/publish.yaml b/examples/BMTrain/.github/workflows/publish.yaml new file mode 100644 index 00000000..fd9b8c50 --- /dev/null +++ b/examples/BMTrain/.github/workflows/publish.yaml @@ -0,0 +1,41 @@ +name: Build and Publish to PyPI + +on: + push: + tags: + + - "v*.*.*" + +jobs: + + build-archive-wheel: + uses: OpenBMB/BMTrain/.github/workflows/build_whl.yml@main + secrets: + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + + publish: + needs: build-archive-wheel + runs-on: ubuntu-latest + steps: + - name: Set Up the Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: Install twine + run: python -m pip install twine + + - name: Download distribution files + uses: actions/download-artifact@v4 + with: + name: dist + path: dist + + - name: Publish to PyPI + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + cd dist + python -m twine upload *.tar.gz *.whl diff --git a/examples/BMTrain/.github/workflows/release.yml b/examples/BMTrain/.github/workflows/release.yml new file mode 100644 index 00000000..bafc2173 --- /dev/null +++ b/examples/BMTrain/.github/workflows/release.yml @@ -0,0 +1,44 @@ +name: Publish release in Github + +on: + push: + tags: + - "v*.*.*" + +jobs: + + build-archive-wheel: + + uses: OpenBMB/BMTrain/.github/workflows/build_whl.yml@main + secrets: + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + + publish: + needs: build-archive-wheel + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set Up the Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: Download distribution files + uses: actions/download-artifact@v4 + with: + name: dist + path: dist + + - name: Upload Distribution Files to Existing Release + uses: softprops/action-gh-release@v1 + with: + files: | + dist/*.tar.gz + dist/*.whl + tag_name: ${{ github.ref_name }} # 使用当前触发工作流的 tag + token: ${{ secrets.RELEASE_TOKEN }} + env: + GITHUB_REPOSITORY: OpenBMB/BMTrain diff --git a/examples/BMTrain/.gitignore b/examples/BMTrain/.gitignore new file mode 100644 index 00000000..75138102 --- /dev/null +++ b/examples/BMTrain/.gitignore @@ -0,0 +1,155 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +*.pt + +*.npy + +bminference/version.py + +.DS_Store + +log +*.qdrep +.vscode + +!bmtrain/dist +tests/test_log.txt +tests/*.opt +tests/*.ckp \ No newline at end of file diff --git a/examples/BMTrain/CMakeLists.txt b/examples/BMTrain/CMakeLists.txt new file mode 100644 index 00000000..e027e7da --- /dev/null +++ b/examples/BMTrain/CMakeLists.txt @@ -0,0 +1,65 @@ +cmake_minimum_required(VERSION 3.18) +project(bmtrain) +enable_language(C) +enable_language(CXX) +set(CMAKE_CUDA_ARCHITECTURES "61;62;70;72;75;80") +enable_language(CUDA) +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED True) +set(CMAKE_CUDA_STANDARD 14) +set(CMAKE_CUDA_STANDARD_REQUIRED True) + +set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_72,code=sm_72 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=sm_80") + +if(NOT DEFINED ENV{BUILD_DOCKER_ENV} OR "$ENV{BUILD_DOCKER_ENV}" STREQUAL "0") + set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=compute_86,code=sm_86") + set(AVX_FLAGS "${AVX_FLAGS} -march=native") +else() + message("Building in docker environment, skipping compute_86 and enable all avx flag") + set(AVX_FLAGS "${AVX_FLAGS} -mavx -mfma -mf16c -mavx512f") +endif() + +set(CMAKE_BUILD_RPATH $ORIGIN) +set(CMAKE_INSTALL_RPATH $ORIGIN) +set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/) + +find_package(NCCL REQUIRED) +find_package(Python ${PYTHON_VERSION} EXACT COMPONENTS Interpreter Development.Module REQUIRED) +message (STATUS "Python_EXECUTABLE: ${Python_EXECUTABLE}") +execute_process(COMMAND ${Python_EXECUTABLE} "-c" + "import pybind11; print(pybind11.get_cmake_dir())" + OUTPUT_VARIABLE PYBIND11_CMAKE_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE) +message (STATUS "PYBIND11_CMAKE_DIR: ${PYB +IND11_CMAKE_DIR}") +list(APPEND CMAKE_PREFIX_PATH ${PYBIND11_CMAKE_DIR}) +find_package(pybind11 REQUIRED) + +message (STATUS "CMAKE_INSTALL_RPATH: ${CMAKE_INSTALL_RPATH}") + +file(GLOB_RECURSE SOURCES "csrc/*.cpp") +file(GLOB_RECURSE CUDA_SOURCES "csrc/cuda/*.cu") + + +pybind11_add_module(C ${SOURCES} ${CUDA_SOURCES}) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${AVX_FLAGS}") + +target_link_libraries(C PRIVATE + "-Wl,-Bsymbolic" + "-Wl,-Bsymbolic-functions" + ${NCCL_LIBRARIES} +) +target_include_directories(C PRIVATE ${NCCL_INCLUDE_DIRS}) +target_compile_definitions(C + PRIVATE VERSION_INFO=${EXAMPLE_VERSION_INFO}) + +set_target_properties(C PROPERTIES CUDA_ARCHITECTURES "61;62;70;72;75;80") + +target_include_directories(C + PRIVATE "csrc/include" + PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} +) + + + diff --git a/examples/BMTrain/CONTRIBUTING.md b/examples/BMTrain/CONTRIBUTING.md new file mode 100644 index 00000000..e1c4458f --- /dev/null +++ b/examples/BMTrain/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Contributing to BMTrain + +We welcome everyone's effort to make the community and the package better. You are welcomed to propose an issue, make a pull request or help others in the community. All of the efforts are appreciated! + +There are many ways that you can contribute to BMTrain: + +- ✉️ Submitting an issue. +- ⌨️ Making a pull request. +- 🤝 Serving the community. + +## Submitting an issue +You can submit an issue if you find bugs or require new features and enhancements. Here are some principles: + +1. **Language.** It is better to write your issue in English so that more people can understand and help you more conveniently. +2. **Search.** It is a good habit to search existing issues using the search bar of GitHub. Make sure there are no duplicated or similar issues with yours and if yes, check their solutions first. +3. **Format.** It is also very helpful to write the issue with a good writing style. We provide templates of common types of issues and everyone is encouraged to use these templates. If the templates do not fit in your issue, feel free to open a blank one. +4. **Writing style.** Write your issues in clear and concise words. It is also important to provide enough details for others to help. For example in a bug report, it is better to provide your running environment and minimal lines of code to reproduce it. + +## Making a pull request (PR) +You can also write codes to contribute. The codes may include a bug fix, a new enhancement, or a new running example. Here we provide the steps to make a pull request: + +1. **Combine the PR with an issue.** Make us and others know what you are going to work on. If your codes try to solve an existing issue, you should comment on the issue and make sure there are no others working on it. If you are proposing a new enhancement, submit an issue first and we can discuss it with you before you work on it. + +2. **Fork the repository.** Fork the repository to your own GitHub space by clicking the "Fork" button. Then clone it on your disk and set the remote repo: +```git +$ git clone https://github.com/<your GitHub>/BMTrain.git +$ cd BMTrain +$ git remote add upstream https://github.com/OpenBMB/BMTrain.git +``` + +3. **Write your code.** Change to a new branch to work on your modifications. +```git +$ git checkout -b your-branch-name +``` +You are encouraged to think up a meaningful and descriptive name for your branch. + +4. **Make a pull request.** After you finish coding, you should first rebase your code and solve the conflicts with the remote codes: +```git +$ git fetch upstream +$ git rebase upstream/main +``` +Then you can push your codes to your own repo: +```git +$ git push -u origin your-branch-name +``` +Finally, you can make the pull request from your GitHub repo and merge it with ours. Your codes will be merged into the main repo after our code review. + + +## Serving the community + +Besides submitting issues and PRs, you can also join our community and help others. Efforts like writing the documents, answering questions as well as discussing new features are appreciated and welcomed. It will also be helpful if you can post your opinions and feelings about using our package on social media. + +We are now developing a reward system and all your contributions will be recorded and rewarded in the future. + + diff --git a/examples/BMTrain/Dockerfile b/examples/BMTrain/Dockerfile new file mode 100644 index 00000000..8e6cbddf --- /dev/null +++ b/examples/BMTrain/Dockerfile @@ -0,0 +1,20 @@ +FROM nvidia/cuda:10.2-devel +WORKDIR /build +RUN apt update && apt install -y --no-install-recommends \ + build-essential \ + python3-dev \ + python3-pip \ + python3-setuptools \ + python3-wheel +RUN pip3 install torch==1.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple +RUN pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple +RUN apt install iputils-ping opensm libopensm-dev libibverbs1 libibverbs-dev -y --no-install-recommends +ENV TORCH_CUDA_ARCH_LIST=6.1;7.0;7.5 +ENV BMT_AVX512=1 +ADD other_requirements.txt other_requirements.txt +RUN pip3 install --upgrade pip && pip3 install -r other_requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple +ADD . . +RUN python3 setup.py install + +WORKDIR /root +ADD example example \ No newline at end of file diff --git a/examples/BMTrain/LICENSE b/examples/BMTrain/LICENSE new file mode 100644 index 00000000..7ad7f39e --- /dev/null +++ b/examples/BMTrain/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2022 OpenBMB + + 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. diff --git a/examples/BMTrain/MANIFEST.in b/examples/BMTrain/MANIFEST.in new file mode 100644 index 00000000..a6f97fa4 --- /dev/null +++ b/examples/BMTrain/MANIFEST.in @@ -0,0 +1,4 @@ +graft csrc +include CMakeLists.txt +graft cmake + diff --git a/examples/BMTrain/README-ZH.md b/examples/BMTrain/README-ZH.md new file mode 100644 index 00000000..d36953a2 --- /dev/null +++ b/examples/BMTrain/README-ZH.md @@ -0,0 +1,369 @@ +<div align="center"> + +<h1><img src="docs/logo.png" height="28px" /> BMTrain</h1> + +**大模型高效训练工具包** + +<p align="center"> + <a href="#总览">总览</a> • <a href="#文档">文档</a> • <a href="#安装">安装</a> • <a href="#使用说明">使用说明</a> • <a href="#性能">性能</a> • <a href="./README.md" target="_blank">English</a> +<br> +</p> + +<p align="center"> + +<a href='https://bmtrain.readthedocs.io/en/latest/?badge=latest'> + <img src='https://readthedocs.org/projects/bmtrain/badge/?version=latest' alt='Documentation Status' /> +</a> + +<a href="https://github.com/OpenBMB/BMTrain/releases"> + <img alt="GitHub release (latest by date including pre-releases)" src="https://img.shields.io/github/v/release/OpenBMB/BMTrain?include_prereleases"> +</a> + +<a href="https://github.com/OpenBMB/BMTrain/blob/main/LICENSE"> + <img alt="GitHub" src="https://img.shields.io/github/license/OpenBMB/BMTrain"> +</a> + +</p> + +</div> + +## 最新动态 +- 2022/06/14 **BMTrain** [0.1.7](https://github.com/OpenBMB/BMTrain/releases/tag/0.1.7) 发布。支持了ZeRO-2优化! +- 2022/03/30 **BMTrain** [0.1.2](https://github.com/OpenBMB/BMTrain/releases/tag/0.1.2) 发布。适配了[OpenPrompt](https://github.com/thunlp/OpenPrompt)和 [OpenDelta](https://github.com/thunlp/OpenDelta)工具包。 +- 2022/03/16 **BMTrain** [0.1.1](https://github.com/OpenBMB/BMTrain/releases/tag/0.1.1) 公开发布了第一个稳定版本,修复了 beta 版本中的一些问题。 +- 2022/02/11 **BMTrain** [0.0.15](https://github.com/OpenBMB/BMTrain/releases/tag/0.0.15) 公开发布了第一个 beta 版本。 + +<div id="总览"></div> + +## 总览 + +BMTrain 是一个高效的大模型训练工具包,可以用于训练数百亿参数的大模型。BMTrain 可以在分布式训练模型的同时,能够保持代码的简洁性。 + +<div id="文档"></div> + +## 文档 +我们的[文档](https://bmtrain.readthedocs.io/en/latest/index.html)提供了关于工具包的更多信息。 + +<div id="安装"></div> + +## 安装 + +- 用 pip 安装(推荐): ``pip install bmtrain`` + +- 从源代码安装: 下载工具包,然后运行 ``pip install .`` (setup.py的安装方式将会在未来被setuptools弃用) + +安装 BMTrain 可能需要花费数分钟的时间,因为在安装时需要编译 c/cuda 源代码。 +我们推荐直接在训练环境中编译 BMTrain,以避免不同环境带来的潜在问题。 + + +<div id="使用说明"></div> + +## 使用说明 + +### 步骤 1: 启用 BMTrain + +首先,你需要在代码开头初始化 BMTrain。正如在使用 PyTorch 的分布式训练模块需要在代码开头使用 **init_process_group** 一样,使用 BMTrain 需要在代码开头使用 **init_distributed**。 + +```python +import bmtrain as bmt +bmt.init_distributed( + seed=0, + zero_level=3, # 目前支持2和3 + # ... +) +``` + +**注意:** 使用 BMTrain 时请不要使用 PyTorch 自带的 `distributed` 模块,包括 `torch.distributed.init_process_group` 以及相关通信函数。 + +### 步骤 2: 使用 ZeRO 优化 + +使用ZeRO优化需要对模型代码进行简单替换: + +* `torch.nn.Module` -> `bmtrain.DistributedModule` +* `torch.nn.Parameter` -> `bmtrain.DistributedParameter` + +并在 transformer 模块上使用 `bmtrain.CheckpointBlock`。 + +下面是一个例子: + +**原始代码** + +```python +import torch +class MyModule(torch.nn.Module): + def __init__(self): + super().__init__() + self.param = torch.nn.Parameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + SomeTransformerBlock(), + SomeTransformerBlock(), + SomeTransformerBlock() + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**替换后代码** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): # 修改这里 + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) # 修改这里 + self.module_list = torch.nn.ModuleList([ + bmt.CheckpointBlock(SomeTransformerBlock()), # 修改这里 + bmt.CheckpointBlock(SomeTransformerBlock()), # 修改这里 + bmt.CheckpointBlock(SomeTransformerBlock()) # 修改这里 + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +### 步骤 3: 通信优化 + +为了进一步缩短通信额外开销,将通信与运算时间重叠,可以使用 `TransformerBlockList` 来进一步优化。 + +在使用时需要对代码进行简单替换: + +* `torch.nn.ModuleList` -> `bmtrain.TransformerBlockList` +* `for module in self.module_list: x = module(x, ...)` -> `x = self.module_list(x, ...)` + +**原始代码** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**替换后代码** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = bmt.TransformerBlockList([ # 修改这里 + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + x = self.module_list(x, 1, 2, 3) # 修改这里 + return x + +``` + +### 步骤 4: 运行分布式训练代码 + +BMTrain 使用 PyTorch 原生的分布式训练启动器,你可以根据 PyTorch 版本选择下列命令中的一个。 + +* `${MASTER_ADDR}` 为主节点的 IP 地址 +* `${MASTER_PORT}` 为主节点的端口 +* `${NNODES}` 为节点数量 +* `${GPU_PER_NODE}` 为每个节点的 GPU 数量 +* `${NODE_RANK}` 为本节点的 rank + +#### torch.distributed.launch +```shell +$ python3 -m torch.distributed.launch --master_addr ${MASTER_ADDR} --master_port ${MASTER_PORT} --nproc_per_node ${GPU_PER_NODE} --nnodes ${NNODES} --node_rank ${NODE_RANK} train.py +``` + +#### torchrun + +```shell +$ torchrun --nnodes=${NNODES} --nproc_per_node=${GPU_PER_NODE} --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} train.py +``` + +更多信息请参考 PyTorch [官方文档](https://pytorch.org/docs/stable/distributed.html#launch-utility)。 + +## 样例 + +我们提供了一个使用 BMTrain 训练 GPT-2 的[样例](https://github.com/OpenBMB/BMTrain/tree/main/example)。 +代码主要包含以下几个部分。 + +### 第 1 部分: 模型定义 + +``` +├── layers +│ ├── attention.py +│ ├── embedding.py +│ ├── feedforward.py +│ ├── __init__.py +│ ├── layernorm.py +│ └── linear.py +└── models + ├── gpt.py + └── __init__.py +``` + +上面是代码的目录结构。 + +我们定义了 GPT-2 需要的所有模型层,并使用 BMTrain 的 `DistributedModule` 和 `DistributedParameter` 来启用 ZeRO 优化。 + +### 第 2 部分: 初始化 BMTrain + +```python +bmtrain.init_distributed(seed=0) + +model = GPT( + num_layers=8, + vocab_size=10240, + dim_model=2560, + dim_head=80, + num_heads=32, + dim_ff=8192, + max_distance=1024, + bias=True, + dtype=torch.half +) + +bmtrain.init_parameters(model) # 或者使用`bmtrain.load`加载checkpoint + +# ... 其他初始化(例如数据集) ... +``` + +`bmtrain.init_distributed(seed=0)` 用于初始化分布式训练环境,并设置随机数种子便于复现。 + +`bmtrain.init_parameters(model)` 用于初始化模型的分布式参数。 + +### 第 3 部分: 初始化优化器和学习率调整策略 + +```python +loss_func = torch.nn.CrossEntropyLoss(ignore_index=-100) +optimizer = bmtrain.optim.AdamOffloadOptimizer(model.parameters(), weight_decay=1e-2) +lr_scheduler = bmtrain.lr_scheduler.Noam(optimizer, start_lr=1e-3, warmup_iter=40, end_iter=1000, num_iter=0) +``` + +BMTrain 支持**所有** PyTorch 原生的优化器和损失函数,同时你也可以使用 BMTrain 提供的融合(fused)优化器用于混合精度训练。 + +此外,在 `bmtrain.lr_scheduler` 中 BMTrain 也提供了常见的学习率调整策略。 + +### 第 4 部分: 训练 + +```python +# 新建优化器管理器实例 +optim_manager = bmtrain.optim.OptimManager(loss_scale=1024) +# 将所有的 optimzer 及(可选)其对应的 lr_scheduler 收入优化器管理器管理。 +optim_manager.add_optimizer(optimizer, lr_scheduler) +# 可以再次调用 add_optimizer 加入其他优化器 + +for iteration in range(1000): + # ... 为每个rank加载数据 ... + + # 前向传播并计算梯度 + pos = torch.arange(enc_input.size(1)).long().cuda().repeat(enc_input.size(0), 1) + logits = model( + enc_input, + pos, + pos < enc_length[:, None] + ) + batch, seq_len, vocab_out_size = logits.size() + + loss = loss_func(logits.view(batch * seq_len, vocab_out_size), targets.view(batch * seq_len)) + + global_loss = bmtrain.sum_loss(loss).item() # 聚合所有rank上的损失, 仅用于输出训练日志 + + # 梯度清零 + optim_manager.zero_grad() # 为每个 optimizer 调用 zero_grad + + # 损失缩放和反向传播 + optim_manager.backward(loss) + + # 梯度裁剪 + grad_norm = optim_manager.clip_grad_norm(optimizer.param_groups, max_norm=1.0) + + # 更新参数 + optim_manager.step() + + # ... 保存checkpoint、打印日志 ... +``` + +这部分代码略有些长,但写起来就像常见的训练代码一样,你不需要为分布式训练调整太多的代码。 + +你可以根据代码中的注释来了解各部分代码的作用。 + +唯一需要说明的是 `optim_manager`。在使用 BMTrain 后,优化器的部分相关操作需要有一些细节上的调整。我们在 `optim_manager` 帮你实现了这些细节, 你只需要通过 `add_optimizer` 将优化器和学习率调整策略收入 `optim_manager` 管理,并由 `optim_manger` 代为执行 `zero_grad()`, `backward()`, `clip_grad_norm()` 和 `step()` 等操作。 + +如果你没有使用混合精度训练,你可以不用损失缩放,只需要将 `OptimManger(loss_scale=None)` 构造函数中 `loss_scale` 置为 None 即可, 这也是 `OptimManager` 的默认构造参数。 + +如果你使用了混合精度训练,**损失缩放**是混合精度训练中的一项常用技术,我们在 `optim_manager.backward(loss)` 帮你对 `loss` 进行了放缩,用于避免梯度下溢。只需要将 `OptimManger` 构造函数中 `loss_scale` 置为一个浮点数即可。 `loss_scale` 会在训练过程中根据梯度进行自适应的调整。 + +<div id="性能"></div> + +## 性能 + +我们训练了一个有130亿参数的 GPT-2 模型,使用了4台服务器,每台服务器有8张V100显卡。我们测试了训练过程中每个GPU的吞吐量(每个GPU每秒处理的样本数),结果见下表。 + +模型结构: +* 40层 +* 128个注意力头 +* 5120的隐藏层维数 +* 512的序列长度 + + +| batch size | 8 | 16 | 24 | 32 | +|-------------|-------|-------|:------|:------| +| BMTrain | 24.15 | 26.94 | 29.42 | 28.28 | +| ZeRO3(mp=1) | 14.88 | 21.69 | 24.38 | - | +| ZeRO3(mp=4) | 15.51 | - | - | - | +| ZeRO3(mp=8) | 15.51 | - | - | - | +| ZeRO2(mp=1) | - | - | - | - | +| ZeRO2(mp=4) | 22.85 | - | - | - | +| ZeRO2(mp=8) | 21.33 | - | - | - | + +**ZeROa(mp=b)** 表示 DeepSpeed + Megatron ZeRO stage a 和 model parallelism = b。 + +表格中的 **-** 表示超出显存。 + +## 模型支持 + +我们已经将大多数常见的 NLP 模型移植到了 BMTrain 中。你可以在 [ModelCenter](https://github.com/OpenBMB/ModelCenter) 项目中找到支持模型的列表。 + +## 开源社区 +欢迎贡献者参照我们的[贡献指南](https://github.com/OpenBMB/BMTrain/blob/master/CONTRIBUTING.md)贡献相关代码。 + +您也可以在其他平台与我们沟通交流: +- QQ群: 735930538 +- 官方网站: https://www.openbmb.org +- 微博: http://weibo.cn/OpenBMB +- Twitter: https://twitter.com/OpenBMB + +## 开源许可 + +该工具包使用[Apache 2.0](https://github.com/OpenBMB/BMTrain/blob/main/LICENSE)开源许可证。 + +## 其他说明 + +`BMTrain` 工具包对 PyTorch 进行了底层修改,如果你的程序输出了意料之外的结果,可以在 issue 中提交相关信息。 diff --git a/examples/BMTrain/README.md b/examples/BMTrain/README.md new file mode 100644 index 00000000..134929f5 --- /dev/null +++ b/examples/BMTrain/README.md @@ -0,0 +1,375 @@ +<div align="center"> + +<h1><img src="docs/logo.png" height="28px" /> BMTrain</h1> + +**Efficient Training for Big Models** + +<p align="center"> + <a href="#overview">Overview</a> • <a href="#documentation">Documentation</a> • <a href="#install">Installation</a> • <a href="#usage">Usage</a> • <a href="#performance">Performance</a> • <a href="./README-ZH.md" target="_blank">简体中文</a> +<br> +</p> + +<p align="center"> + +<a href='https://bmtrain.readthedocs.io/en/latest/?badge=latest'> + <img src='https://readthedocs.org/projects/bmtrain/badge/?version=latest' alt='Documentation Status' /> +</a> + +<a href="https://github.com/OpenBMB/BMTrain/releases"> + <img alt="GitHub release (latest by date including pre-releases)" src="https://img.shields.io/github/v/release/OpenBMB/BMTrain?include_prereleases"> +</a> + +<a href="https://github.com/OpenBMB/BMTrain/blob/main/LICENSE"> + <img alt="GitHub" src="https://img.shields.io/github/license/OpenBMB/BMTrain"> +</a> + +</p> + +</div> + +## What's New +- 2024/02/26 **BMTrain** [1.0.0](https://github.com/OpenBMB/BMTrain/releases/tag/v1.0.0) released. Code refactoring and Tensor parallel support. See the detail in [update log](docs/UPDATE_1.0.0.md) +- 2023/08/17 **BMTrain** [0.2.3](https://github.com/OpenBMB/BMTrain/releases/tag/v0.2.3) released. See the [update log](docs/UPDATE_0.2.3.md). +- 2022/12/15 **BMTrain** [0.2.0](https://github.com/OpenBMB/BMTrain/releases/tag/0.2.0) released. See the [update log](docs/UPDATE_0.2.0.md). +- 2022/06/14 **BMTrain** [0.1.7](https://github.com/OpenBMB/BMTrain/releases/tag/0.1.7) released. ZeRO-2 optimization is supported! +- 2022/03/30 **BMTrain** [0.1.2](https://github.com/OpenBMB/BMTrain/releases/tag/0.1.2) released. Adapted to [OpenPrompt](https://github.com/thunlp/OpenPrompt)and [OpenDelta](https://github.com/thunlp/OpenDelta). +- 2022/03/16 **BMTrain** [0.1.1](https://github.com/OpenBMB/BMTrain/releases/tag/0.1.1) has publicly released the first stable version, which fixes many bugs that were in the beta version. +- 2022/02/11 **BMTrain** [0.0.15](https://github.com/OpenBMB/BMTrain/releases/tag/0.0.15) has publicly released the first beta version. + +<div id="overview"></div> + +## Overview + +BMTrain is an efficient large model training toolkit that can be used to train large models with tens of billions of parameters. It can train models in a distributed manner while keeping the code as simple as stand-alone training. + +<div id="documentation"></div> + +## Documentation +Our [documentation](https://bmtrain.readthedocs.io/en/latest/index.html) provides more information about the package. + +<div id="install"></div> + +## Installation + +- From pip (recommend) : ``pip install bmtrain`` + +- From source code: download the package and run ``pip install .`` + +Installing BMTrain may take a few to ten minutes, as it requires compiling the c/cuda source code at the time of installation. +We recommend compiling BMTrain directly in the training environment to avoid potential problems caused by the different environments. + +<div id="usage"></div> + +## Usage + +### Step 1: Initialize BMTrain + +Before you can use BMTrain, you need to initialize it at the beginning of your code. Just like using the distributed module of PyTorch requires the use of **init_process_group** at the beginning of the code, using BMTrain requires the use of **init_distributed** at the beginning of the code. + +```python +import bmtrain as bmt +bmt.init_distributed( + seed=0, + # ... +) +``` + +**NOTE:** Do not use PyTorch's distributed module and its associated communication functions when using BMTrain. + +### Step 2: Enable ZeRO Optimization + +To enable ZeRO optimization, you need to make some simple replacements to the original model's code. + +* `torch.nn.Module` -> `bmtrain.DistributedModule` +* `torch.nn.Parameter` -> `bmtrain.DistributedParameter` + +And wrap the transformer blocks with `bmtrain.Block`. + +Here is an example. + +**Original** + +```python +import torch +class MyModule(torch.nn.Module): + def __init__(self): + super().__init__() + self.param = torch.nn.Parameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + SomeTransformerBlock(), + SomeTransformerBlock(), + SomeTransformerBlock() + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**Replaced** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): # changed here + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) # changed here + self.module_list = torch.nn.ModuleList([ + bmt.Block(SomeTransformerBlock(), zero_level=3), # changed here, support 2 and 3 now + bmt.Block(SomeTransformerBlock(), zero_level=3), # changed here, support 2 and 3 now + bmt.Block(SomeTransformerBlock(), zero_level=3) # changed here, support 2 and 3 now + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +### Step 3: Enable Communication Optimization + + +To further reduce the extra overhead of communication and overlap communication with computing time, `TransformerBlockList` can be used for optimization. + +You can enable them by making the following substitutions to the code: + +* `torch.nn.ModuleList` -> `bmtrain.TransformerBlockList` +* `for module in self.module_list: x = module(x, ...)` -> `x = self.module_list(x, ...)` + +**Original** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**Replaced** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = bmt.TransformerBlockList([ # changed here + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +### Step 4: Launch Distributed Training + +BMTrain uses the same launch command as the distributed module of PyTorch. + +You can choose one of them depending on your version of PyTorch. + +* `${MASTER_ADDR}` means the IP address of the master node. +* `${MASTER_PORT}` means the port of the master node. +* `${NNODES}` means the total number of nodes. +* `${GPU_PER_NODE}` means the number of GPUs per node. +* `${NODE_RANK}` means the rank of this node. + +#### torch.distributed.launch +```shell +$ python3 -m torch.distributed.launch --master_addr ${MASTER_ADDR} --master_port ${MASTER_PORT} --nproc_per_node ${GPU_PER_NODE} --nnodes ${NNODES} --node_rank ${NODE_RANK} train.py +``` + +#### torchrun + +```shell +$ torchrun --nnodes=${NNODES} --nproc_per_node=${GPU_PER_NODE} --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} train.py +``` + + +For more information, please refer to the [documentation](https://pytorch.org/docs/stable/distributed.html#launch-utility). + +## Example + +We provide an [example](https://github.com/OpenBMB/BMTrain/tree/main/example) of training GPT-2 based on BMTrain. +The code mainly consists of the following parts. + +### Part 1: Model Definition + +``` +├── layers +│ ├── attention.py +│ ├── embedding.py +│ ├── feedforward.py +│ ├── __init__.py +│ ├── layernorm.py +│ └── linear.py +└── models + ├── gpt.py + └── __init__.py +``` + +Above is the directory structure of the code in the part of Model Definition. + +We defined all the layers needed in GPT-2 and used BMTrain's `DistributedModule` and `DistributedParameter` to enable ZeRO optimization. + +### Part 2: BMTrain Initialization + +```python +bmtrain.init_distributed(seed=0) + +model = GPT( + num_layers=8, + vocab_size=10240, + dim_model=2560, + dim_head=80, + num_heads=32, + dim_ff=8192, + max_distance=1024, + bias=True, + dtype=torch.half +) + +bmtrain.init_parameters(model) # or loading checkpoint use `bmtrain.load` + +# ... other initialization (dataset) ... +``` + +`bmtrain.init_distributed(seed=0)` is used to initialize the distributed training environment and set the random seed for reproducibility. + +`bmtrain.init_parameters(model)` is used to initialize the distributed parameters of the model. + +### Part 3: Intialization of the Optimizer and LR Scheduler + +```python +loss_func = torch.nn.CrossEntropyLoss(ignore_index=-100) +optimizer = bmtrain.optim.AdamOffloadOptimizer(model.parameters(), weight_decay=1e-2) +lr_scheduler = bmtrain.lr_scheduler.Noam(optimizer, start_lr=1e-3, warmup_iter=40, end_iter=1000, num_iter=0) +``` + +BMTrain supports *all* the PyTorch native optimizers and loss functions, and you can also use the fused optimizer provided by BMTrain for mixed-precision training. + +In addition, BMTrain also provides the common LRScheduler in the `bmtrain.lr_scheduler` module. + +### Part 4: Training Loop + +```python +# create a new instance of optimizer manager +optim_manager = bmtrain.optim.OptimManager(loss_scale=1024) +# let optim_manager handle all the optimizer and (optional) their corresponding lr_scheduler +optim_manager.add_optimizer(optimizer, lr_scheduler) +# add_optimizer can be called multiple times to add other optimizers. + +for iteration in range(1000): + # ... load data for each rank ... + + # forward pass and calculate loss + pos = torch.arange(enc_input.size(1)).long().cuda().repeat(enc_input.size(0), 1) + logits = model( + enc_input, + pos, + pos < enc_length[:, None] + ) + batch, seq_len, vocab_out_size = logits.size() + + loss = loss_func(logits.view(batch * seq_len, vocab_out_size), targets.view(batch * seq_len)) + + global_loss = bmtrain.sum_loss(loss).item() # sum the loss across all ranks. This is only used for the training log + + # zero grad + optim_manager.zero_grad() # calling zero_grad for each optimizer + + # loss scale and backward + optim_manager.backward(loss) + + # clip grad norm + grad_norm = optim_manager.clip_grad_norm(optimizer.param_groups, max_norm=1.0) + + # optimizer step + optim_manager.step() + + # ... save checkpoint or print logs ... +``` + +The training loop part will be slightly longer, but just like a normal training loop, you don't need to adapt much to distributed training. + +You can follow the comments in the code to get an idea of what each section of code is doing. + +The only additional note is `optimizer`. After using BMTrain, some details in optimizers should be adjusted. We have implemented all those details needed in `optim_manager`. What you need is just letting `optim_manager` to handle all the optimizers by `add_optimizer`, and letting `optim_manager` do `zero_grad()`, `backward()`, `clip_grad_norm()` and `step()` instead. + +If you are not using the mixed-precision training, you can train without `loss_scale`. Just set `loss_scale` to None in the `__init__` function of `OptimManager(loss_scale=None)`, which is also the default. + +If you are using mixed-precision training, *loss scale* is the technique widely used in mixed precision training to prevent gradient underflow. By using `optim_manager.backward(loss)` to scale the `loss` before backward and set `loss_scale` to some floating number in the `__init__` function of `OptimManager`。The `loss_scale` would be adjusted adaptively based on the gradient during training. + +<div id="performance"></div> + +## Performance + +We trained a GPT-2 model with 13B parameters using 4 servers with 8 V100s on each server, and measured the throughput of each GPU during the training process (samples per GPU per second). + +Model structure: +* 40 layers +* 128 attention heads +* 5120 hidden dimension +* 512 sequence length + + +| batch size | 8 | 16 | 24 | 32 | +|-------------|-------|-------|:------|:------| +| BMTrain | 24.15 | 26.94 | 29.42 | 28.28 | +| ZeRO3(mp=1) | 14.88 | 21.69 | 24.38 | - | +| ZeRO3(mp=4) | 15.51 | - | - | - | +| ZeRO3(mp=8) | 15.51 | - | - | - | +| ZeRO2(mp=1) | - | - | - | - | +| ZeRO2(mp=4) | 22.85 | - | - | - | +| ZeRO2(mp=8) | 21.33 | - | - | - | + +**ZeROa(mp=b)** means DeepSpeed + Megatron ZeRO stage a and model parallelism = b. + +**-** in the table means out of memory. + +## Supported Models + +We have migrated most of the common models in NLP to the BMTrain. You can find the list of supported models in the repo [ModelCenter](https://github.com/OpenBMB/ModelCenter). + +## Community +We welcome everyone to contribute codes following our [contributing guidelines](https://github.com/OpenBMB/BMTrain/blob/master/CONTRIBUTING.md). + +You can also find us on other platforms: +- QQ Group: 735930538 +- Website: https://www.openbmb.org +- Weibo: http://weibo.cn/OpenBMB +- Twitter: https://twitter.com/OpenBMB + +## License +The package is released under the [Apache 2.0](https://github.com/OpenBMB/BMTrain/blob/master/LICENSE) License. + +## Other Notes + +`BMTrain` makes underlying changes to PyTorch, so if your program outputs unexpected results, you can submit information about it in an issue. + diff --git a/examples/BMTrain/Release.txt b/examples/BMTrain/Release.txt new file mode 100644 index 00000000..7c8a41be --- /dev/null +++ b/examples/BMTrain/Release.txt @@ -0,0 +1,9 @@ +## What's Changed +* Using pytorch's hook mechanism to refactor ZeRO, checkpoint, pipeline, communication implementation by @zkh2016 in #128 #159 +* Add Bf16 support by @Achazwl in #136 +* Tensor parallel implementation by @Achazwl @zkh2016 @MayDomine in #153 +* Async save state_dict by @zkh2016 in #171 +* `AdamOffloadOptimizer` can save whole gathered state by @MayDomine in #184 +* New test for new version's bmtrain by @Achazwl @JerryYin777 @MayDomine +**Full Changelog**: https://github.com/OpenBMB/BMTrain/compare/0.2.3...1.0.0 + diff --git a/examples/BMTrain/bmtrain/__init__.py b/examples/BMTrain/bmtrain/__init__.py new file mode 100644 index 00000000..f4ac3642 --- /dev/null +++ b/examples/BMTrain/bmtrain/__init__.py @@ -0,0 +1,26 @@ +from .utils import print_block, print_dict, print_rank, see_memory, load_nccl_pypi +try: + from . import nccl +except: + load_nccl_pypi() +from .global_var import config, world_size, rank +from .init import init_distributed + +from .parameter import DistributedParameter, ParameterInitializer +from .layer import DistributedModule +from .param_init import init_parameters, grouped_parameters +from .synchronize import synchronize, sum_loss, wait_loader, gather_result +from .block_layer import Block, TransformerBlockList +from .wrapper import BMTrainModelWrapper +from .pipe_layer import PipelineTransformerBlockList +from . import debug +from .store import save, load + +from . import loss +from . import distributed +from . import nn +from . import optim +from . import inspect +from . import lr_scheduler + +CheckpointBlock = Block diff --git a/examples/BMTrain/bmtrain/benchmark/__init__.py b/examples/BMTrain/bmtrain/benchmark/__init__.py new file mode 100644 index 00000000..571d621f --- /dev/null +++ b/examples/BMTrain/bmtrain/benchmark/__init__.py @@ -0,0 +1,3 @@ +from .all_gather import all_gather +from .reduce_scatter import reduce_scatter +from .send_recv import send_recv \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/benchmark/all_gather.py b/examples/BMTrain/bmtrain/benchmark/all_gather.py new file mode 100644 index 00000000..b2f2ee7c --- /dev/null +++ b/examples/BMTrain/bmtrain/benchmark/all_gather.py @@ -0,0 +1,28 @@ +from .. import nccl +from .shape import SHAPES +from ..global_var import config +from ..utils import round_up, print_rank +from .utils import format_size +import torch + +def all_gather(): + current_stream = torch.cuda.current_stream() + for shape in SHAPES: + global_size = round_up(shape, config['world_size'] * 2) + partition_size = global_size // config['world_size'] + + partition_tensor = torch.empty( partition_size // 2, dtype=torch.half, device="cuda" ) + global_tensor = torch.empty( global_size // 2, dtype=torch.half, device="cuda" ) + + start_evt = torch.cuda.Event(enable_timing=True) + end_evt = torch.cuda.Event(enable_timing=True) + + current_stream.record_event(start_evt) + nccl.allGather(partition_tensor.storage(), global_tensor.storage(), config['comm']) + current_stream.record_event(end_evt) + current_stream.synchronize() + time_usage = start_evt.elapsed_time(end_evt) + + bw = global_size / 1024 / 1024 / 1024 * 1000 / time_usage + print_rank("All gather:\tsize {}\ttime: {:4.3f}\tbw: {:2.6f} GB/s".format(format_size(global_size), time_usage, bw)) + diff --git a/examples/BMTrain/bmtrain/benchmark/reduce_scatter.py b/examples/BMTrain/bmtrain/benchmark/reduce_scatter.py new file mode 100644 index 00000000..75733556 --- /dev/null +++ b/examples/BMTrain/bmtrain/benchmark/reduce_scatter.py @@ -0,0 +1,28 @@ +from .. import nccl +from .shape import SHAPES +from ..global_var import config +from ..utils import round_up, print_rank +from .utils import format_size +import torch + +def reduce_scatter(): + current_stream = torch.cuda.current_stream() + for shape in SHAPES: + global_size = round_up(shape, config['world_size']) + partition_size = global_size // config['world_size'] + + partition_tensor = torch.empty( partition_size // 2, dtype=torch.half, device="cuda" ) + global_tensor = torch.empty( global_size // 2, dtype=torch.half, device="cuda" ) + + start_evt = torch.cuda.Event(enable_timing=True) + end_evt = torch.cuda.Event(enable_timing=True) + + current_stream.record_event(start_evt) + nccl.reduceScatter(global_tensor.storage(), partition_tensor.storage(), 'avg', config['comm']) + current_stream.record_event(end_evt) + current_stream.synchronize() + time_usage = start_evt.elapsed_time(end_evt) + + bw = global_size / 1024 / 1024 / 1024 * 1000 / time_usage + print_rank("Reduce Scatter:\tsize {}\ttime: {:4.3f}\tbw: {:2.6f} GB/s".format(format_size(global_size), time_usage, bw)) + diff --git a/examples/BMTrain/bmtrain/benchmark/send_recv.py b/examples/BMTrain/bmtrain/benchmark/send_recv.py new file mode 100644 index 00000000..e3c971e4 --- /dev/null +++ b/examples/BMTrain/bmtrain/benchmark/send_recv.py @@ -0,0 +1,31 @@ +from .. import nccl +from .shape import SHAPES +from ..global_var import config +from ..utils import print_rank +from .utils import format_size +import torch +def send_recv(): + current_stream = torch.cuda.current_stream() + for shape in SHAPES: + send_size = shape + + send_buffer = torch.empty( send_size // 2, dtype=torch.half, device="cuda" ) + recv_buffer = torch.empty( send_size // 2, dtype=torch.half, device="cuda" ) + + start_evt = torch.cuda.Event(enable_timing=True) + end_evt = torch.cuda.Event(enable_timing=True) + + current_stream.record_event(start_evt) + nccl.groupStart() + if config['rank'] in [0,2,4,6]: + nccl.send(send_buffer.storage(), config['rank']+1, config['comm']) + else: + nccl.recv(recv_buffer.storage(), config['rank']-1, config['comm']) + nccl.groupEnd() + current_stream.record_event(end_evt) + current_stream.synchronize() + time_usage = start_evt.elapsed_time(end_evt) + + bw = shape / 1024 / 1024 / 1024 * 1000 / time_usage + print_rank("Send Recv:\tsize {}\ttime: {:4.3f}\tbw: {:2.6f} GB/s".format(format_size(send_size), time_usage, bw)) + diff --git a/examples/BMTrain/bmtrain/benchmark/shape.py b/examples/BMTrain/bmtrain/benchmark/shape.py new file mode 100644 index 00000000..0699e8cd --- /dev/null +++ b/examples/BMTrain/bmtrain/benchmark/shape.py @@ -0,0 +1,3 @@ +SHAPES = [ + (2**i) for i in range(10, 33) +] \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/benchmark/utils.py b/examples/BMTrain/bmtrain/benchmark/utils.py new file mode 100644 index 00000000..dbc4a70c --- /dev/null +++ b/examples/BMTrain/bmtrain/benchmark/utils.py @@ -0,0 +1,11 @@ +def format_size_(x): + if x < 1024: + return "{:d}B".format(x) + if x < 1024 * 1024: + return "{:4.2f}KB".format(x / 1024) + if x < 1024 * 1024 * 1024: + return "{:4.2f}MB".format(x / 1024 / 1024) + return "{:4.2f}GB".format(x / 1024 / 1024 / 1024) + +def format_size(x): + return "{:.6s}".format(format_size_(x)) \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/block_layer.py b/examples/BMTrain/bmtrain/block_layer.py new file mode 100644 index 00000000..216d77b2 --- /dev/null +++ b/examples/BMTrain/bmtrain/block_layer.py @@ -0,0 +1,726 @@ +from typing import Dict, Iterable, Iterator, Union, List + +from .utils import round_up, tp_split_tensor +from .global_var import config +import torch +from . import nccl +from .parameter import DistributedParameter, OpAllGather +from .zero_context import ZeroContext +from . import hook_func +import inspect +from torch.utils.checkpoint import checkpoint + + +def storage_type_cuda(storage_type): + """Convert storage_type to cuda storage_type.""" + STORAGE_MAP = { + torch.FloatStorage: torch.cuda.FloatStorage, + torch.DoubleStorage: torch.cuda.DoubleStorage, + torch.HalfStorage: torch.cuda.HalfStorage, + torch.BFloat16Storage: torch.cuda.BFloat16Storage, + torch.CharStorage: torch.cuda.CharStorage, + torch.ByteStorage: torch.cuda.ByteStorage, + torch.ShortStorage: torch.cuda.ShortStorage, + torch.IntStorage: torch.cuda.IntStorage, + torch.cuda.FloatStorage: torch.cuda.FloatStorage, + torch.cuda.DoubleStorage: torch.cuda.DoubleStorage, + torch.cuda.HalfStorage: torch.cuda.HalfStorage, + torch.cuda.BFloat16Storage: torch.cuda.BFloat16Storage, + torch.cuda.CharStorage: torch.cuda.CharStorage, + torch.cuda.ByteStorage: torch.cuda.ByteStorage, + torch.cuda.ShortStorage: torch.cuda.ShortStorage, + torch.cuda.IntStorage: torch.cuda.IntStorage, + } + if storage_type not in STORAGE_MAP: + raise ValueError("Unknown storage type: {}".format(storage_type)) + return STORAGE_MAP[storage_type] + + +def _get_param_kw(param: DistributedParameter): + """Get DistributedParameter kw name.""" + type_name = str(param.dtype).split(".")[-1] + grad_name = "_grad" if param.requires_grad else "_nograd" + group_name = "" + if param.group is not None: + group_name = "_g_" + param.group + return type_name + grad_name + group_name + + +class Block(torch.nn.Module): + """A block containing two memory-saving methods of ZeRO and checkpoint. + For details please refer to `ZeRO <https://arxiv.org/abs/1910.02054v3>`_ and + `Checkpointing <https://pytorch.org/docs/stable/checkpoint.html>`_ . + + Args: + inner_module (torch.nn.Module): The module to reduce memory usage. All kinds of modules are supported. + use_checkpoint (boolean): use checkpoint or not. Default True. + zero_level (int): 2 (ZeRO-2) indicates that optimizer states and gradients are partitioned across the process, + 3 (ZeRO-3) means that the parameters are partitioned one the basis of ZeRO-2. Default 3. + initialized (bool): initialized parameter storage. Default False. + mode (str): the mode shouled be "PIPE" when runing in pipeline mode, otherwise mode="BLOCK". Default "BLOCK" + + Examples: + >>> transformer_block = TransformerBlock(...) + >>> block = Block(transformer_block) + >>> y1, ... = block(x) + >>> y2, ... = transformer_block(x) + >>> assert torch.allclose(y1, y2) + """ + + def __init__( + self, + inner_module: torch.nn.Module, + use_checkpoint=True, + zero_level=3, + initialized=False, + mode="BLOCK", + ): + super().__init__() + self._module = inner_module + self._inputs = None + self._layer_dict = {} + self._forward_block_ctx = None + self._backward_block_ctx = None + + self._param_info = [] + self._storage_params: Dict[str, torch.nn.Parameter] = {} + self._storage_info = {} + self._ready = False + + self._use_checkpoint = use_checkpoint + self._is_first_layer = True + self._is_last_layer = True + self._need_release = True + self._next_module = None # save the next module of self + self._pre_module = None # save the pre module of self + self._mode = mode # BLOCK or PIPE + self.all_input_no_grad = False + self.all_param_no_grad = False + self._zero_level = zero_level + if not initialized: + self.init_param_storage() + + def reference(self, block): + """Make this block be a reference of the input Block.""" + self._param_info = block._param_info + self._storage_params = block._storage_params + self._storage_info = block._storage_info + self._layer_dict = block._layer_dict + self._initialized = True + self._need_release = False + + def init_param_storage(self): + """Init param storage.""" + # sort parameters by name + ordered_parameters = list(self._module.named_parameters()) + + # calc total number of parameters + for name, param in ordered_parameters: + if not isinstance(param, DistributedParameter): + raise ValueError( + "All parameters in checkpoint block must be DistributedParameter." + ) + + storage_type = storage_type_cuda(param.storage_type()) + kw_name = _get_param_kw(param) + + if kw_name not in self._storage_info: + if self._mode == "PIPE" and param._tp_mode: + zero_comm = config["pp_tp_zero_comm"] + elif self._mode != "PIPE" and param._tp_mode: + zero_comm = config["tp_zero_comm"] + elif self._mode == "PIPE" and not param._tp_mode: + zero_comm = config["pp_zero_comm"] + else: + zero_comm = config["zero_comm"] + + self._storage_info[kw_name] = { + "total": 0, + "storage_type": storage_type, + "requires_grad": param.requires_grad, + "group": param.group, + "zero_comm": zero_comm, + } + + param_shape = param._original_shape + + self._storage_info[kw_name]["total"] = round_up( + self._storage_info[kw_name]["total"] + param_shape.numel(), + 512 // param.element_size(), + # 512 bytes aligned + ) + + offsets = {} + # intialize storage buffers + for kw, val in self._storage_info.items(): + comm = val["zero_comm"] + world_size = nccl.commCount(comm) + rank = nccl.commRank(comm) + val["world_size"] = world_size + partition_size = ( + round_up(val["total"], val["world_size"]) // val["world_size"] + ) + val["partition_size"] = partition_size + val["begin"] = rank * partition_size + val["end"] = (rank + 1) * partition_size + offsets[kw] = 0 + + storage_type = val["storage_type"] + + storage_param_buffer = storage_type(partition_size) + + dtype = storage_param_buffer.dtype + device = storage_param_buffer.device + + # bind storage to buffer tensor + storage_param = torch.nn.Parameter( + torch.tensor([], dtype=dtype, device=device).set_(storage_param_buffer) + ) + if val["requires_grad"]: + storage_param.requires_grad_(True) + else: + storage_param.requires_grad_(False) + + self._storage_params[kw] = storage_param + + # initialize parameters in module + for name, param in ordered_parameters: + param_shape = param._original_shape + kw_name = _get_param_kw(param) + + param_st = offsets[kw_name] + offsets[kw_name] += param_shape.numel() + param_end = offsets[kw_name] + offsets[kw_name] = round_up(offsets[kw_name], 512 // param.element_size()) + + self._param_info.append( + { + "parameter": param, + "name": name, + "offset": param_st, + "size": param_shape.numel(), + "shape": param_shape, + "kw_name": kw_name, + } + ) + + # copy values to buffer for normal parameter + storage_st = self._storage_info[kw_name]["begin"] + storage_end = self._storage_info[kw_name]["end"] + + # make parameter contiguous in storage + with torch.no_grad(): + contiguous_param = OpAllGather.apply(param) + + if not (param_st >= storage_end or param_end <= storage_st): + # copy offset in parameter storage + offset_st = max(storage_st - param_st, 0) + offset_end = min(storage_end - param_st, contiguous_param.numel()) + assert offset_st < offset_end + + # copy to offset in buffer storage + to_offset_st = offset_st + param_st - storage_st + to_offset_end = offset_end + param_st - storage_st + + # copy to buffer + # PyTorch 1.11 changed the API of storage.__getitem__ + d_dtype = self._storage_params[kw_name].dtype + d_device = self._storage_params[kw_name].device + param.data = torch.tensor( + [], dtype=param.dtype, device=param.device + ).set_( + self._storage_params[kw_name].storage(), + to_offset_st, + (to_offset_end - to_offset_st,), + ) + self._param_info[-1]["begin"] = to_offset_st + self._param_info[-1]["end"] = (to_offset_end - to_offset_st,) + setattr(param, "_start_partition", offset_st) + setattr(param, "_end_partition", offset_end) + param.data[:] = torch.tensor([], dtype=d_dtype, device=d_device).set_( + contiguous_param.storage(), offset_st, (offset_end - offset_st,) + )[:] + del contiguous_param + else: + param.data = torch.tensor([], dtype=param.dtype, device=param.device) + setattr(param, "_start_partition", None) + setattr(param, "_end_partition", 0) + # clear parameter data, but keep the dtype and device + setattr(param, "_in_block", True) + + for kw in offsets.keys(): + assert offsets[kw] == self._storage_info[kw]["total"] + + def set_pre_module(self, pre_module): + """Set pre module for current Block.""" + if pre_module is not None: + self._pre_module = pre_module + pre_module._next_module = self + + def pre_module(self): + """Return pre module of current Block.""" + return self._pre_module if not self._is_first_layer else None + + def next_module(self): + """Return next module of current Block.""" + return self._next_module if not self._is_last_layer else None + + def release_next_module(self, flag): + """Release next module of current Block.""" + if self.next_module() is not None: + self.next_module().release(flag) + + def release(self, flag): + """Release cuurent block ctx.""" + if self._need_release and self._backward_block_ctx is not None: + self._backward_block_ctx.exit(flag, True) + config["load_stream"].record_event(config["load_event"]) + + def pre_hook(self, *args): + """Hook function before forward.""" + grad_tensors = [] + grad_index = [] + arg_list = list(args) + for i, arg in enumerate(args): + if arg is not None and isinstance(arg, torch.Tensor) and arg.requires_grad: + grad_tensors.append(arg) + grad_index.append(i) + grad_tensors = tuple(grad_tensors) + + pre_out = hook_func.PreHookFunc.apply(self, *grad_tensors) + for i in range(len(grad_index)): + arg_list[grad_index[i]] = pre_out[i] + + if self._mode != "PIPE" and len(grad_tensors) == 0: + self.all_param_no_grad = True + for param in self._param_info: + if param["parameter"].requires_grad: + self.all_param_no_grad = False + break + self.all_input_no_grad = True + else: + self.all_input_no_grad = False + return arg_list + + def post_hook(self, out): + """Hook function after forward.""" + tuple_out = (out,) if isinstance(out, torch.Tensor) else out + post_out = hook_func.PostHookFunc.apply(self, *tuple_out) + if isinstance(out, torch.Tensor) and isinstance(post_out, tuple): + return post_out[0] + post_out = tuple(post_out) + return post_out + + def forward(self, *args, **kwargs): + signature = inspect.signature(self._module.forward) + bound_args = signature.bind(*args, **kwargs) + args = bound_args.args + arg_list = self.pre_hook(*args) + + + if self.all_input_no_grad and not self.all_param_no_grad: + placeholder = torch.tensor([], requires_grad=torch.is_grad_enabled()) + return hook_func.OneStepNoGradFunc.apply(self, placeholder, *arg_list) + + if self._use_checkpoint: + out = checkpoint( + self._module, *arg_list, use_reentrant=not self.all_input_no_grad + ) + else: + out = self._module(*arg_list) + + return self.post_hook(out) + + def __getattr__(self, name: str): + if name == "_module": + return self._module + return getattr(self._module, name) + + def __setattr__(self, name, value): + object.__setattr__(self, name, value) + + def __getattribute__(self, name: str): + if name == "_parameters": + return self._module._parameters + return super().__getattribute__(name) + + def __delattr__(self, name): + object.__delattr__(self, name) + + def _save_to_state_dict(self, destination, prefix, keep_vars): + raise RuntimeError("._save_to_state_dict() of Block should not be called") + + def state_dict(self, destination=None, prefix="", keep_vars=False): + # gather here + with torch.no_grad(): + with ZeroContext(self): + return self._module.state_dict( + destination=destination, prefix=prefix, keep_vars=keep_vars + ) + + def _load_from_state_dict( + self, + state_dict, + prefix, + local_metadata, + strict, + missing_keys, + unexpected_keys, + error_msgs, + ): + all_keys = [] + for it in self._param_info: + key = prefix + it["name"] + all_keys.append(key) + if key in state_dict: + # load here + input_param = state_dict[key] + param = it["parameter"] + tp_mode = param._tp_mode + if input_param.__class__.__name__ == "DistributedTensorWrapper": + input_param = input_param.broadcast() + + verify_shape = torch.Size( + it["shape"] if not tp_mode else param._tp_original_shape + ) + if input_param.shape != verify_shape: + error_msgs.append( + "size mismatch for {}: copying a param with shape {} from checkpoint, " + "the shape in current model is {}.".format( + key, input_param.shape, verify_shape + ) + ) + continue + + param_st = it["offset"] + param_end = it["offset"] + it["size"] + kw_name = it["kw_name"] + + # not in this partition + storage_st = self._storage_info[kw_name]["begin"] + storage_end = self._storage_info[kw_name]["end"] + if param_st >= storage_end: + continue + if param_end <= storage_st: + continue + + # copy to buffer + verify_size = verify_shape.numel() + assert input_param.numel() == verify_size + + contiguous_param = ( + input_param.to(it["parameter"].dtype).cuda().contiguous() + ) + + tp_split_dim = param._tp_split_dim + if tp_mode and tp_split_dim >= 0: + contiguous_param = tp_split_tensor(contiguous_param, tp_split_dim) + + offset_st = max(storage_st - param_st, 0) + offset_end = min(storage_end - param_st, contiguous_param.numel()) + assert offset_st < offset_end + + to_offset_st = offset_st + param_st - storage_st + to_offset_end = offset_end + param_st - storage_st + + # copy to buffer + # PyTorch 1.11 changed the API of storage.__getitem__ + d_dtype = self._storage_params[kw_name].dtype + d_device = self._storage_params[kw_name].device + torch.tensor([], dtype=d_dtype, device=d_device).set_( + self._storage_params[kw_name].storage(), + to_offset_st, + (to_offset_end - to_offset_st,), + )[:] = torch.tensor([], dtype=d_dtype, device=d_device).set_( + contiguous_param.storage(), offset_st, (offset_end - offset_st,) + )[ + : + ] + del contiguous_param + elif strict: + missing_keys.append(key) + + for name, param in self.named_parameters(): + if isinstance(param, DistributedParameter) and not param._in_block: + key = prefix + name + all_keys.append(key) + if key in state_dict: + input_param = state_dict[key] + is_param_lazy = torch.nn.parameter.is_lazy(param) + # Backward compatibility: loading 1-dim tensor from 0.3.* to version 0.4+ + if ( + not is_param_lazy + and len(param.shape) == 0 + and len(input_param.shape) == 1 + ): + input_param = input_param[0] + + if ( + not is_param_lazy + and not isinstance(param, DistributedParameter) + and input_param.shape != param.shape + ): + # local shape should match the one in checkpoint + error_msgs.append( + "size mismatch for {}: copying a param with shape {} from checkpoint, " + "the shape in current model is {}.".format( + key, input_param.shape, param.shape + ) + ) + continue + if ( + not is_param_lazy + and isinstance(param, DistributedParameter) + and input_param.shape != param._original_shape + ): + error_msgs.append( + "size mismatch for {}: copying a param with shape {} from checkpoint, " + "the shape in current model is {}.".format( + key, input_param.shape, param.shape + ) + ) + try: + with torch.no_grad(): + param._copy_data(input_param) + except Exception as ex: + error_msgs.append( + 'While copying the parameter named "{}", ' + "whose dimensions in the model are {} and " + "whose dimensions in the checkpoint are {}, " + "an exception occurred : {}.".format( + key, param.size(), input_param.size(), ex.args + ) + ) + elif strict: + missing_keys.append(key) + + if strict: + all_keys = set(all_keys) + for key in state_dict.keys(): + if key.startswith(prefix) and key not in all_keys: + unexpected_keys.append(key) + + def grouped_parameters(self): + """ + Yield group params in storage params. + """ + ret = {} + for kw, val in self._storage_info.items(): + if val["group"] not in ret: + ret[val["group"]] = [] + ret[val["group"]].append(self._storage_params[kw]) + for kw, val in ret.items(): + yield kw, val + + def init_parameters(self): + """ + Initialize distributed parameters in this block. + """ + for it in self._param_info: + param = it["parameter"] + if ( + isinstance(param, DistributedParameter) + and param._init_method is not None + ): + # initialzie here + tmp_tensor = torch.empty( + param._tp_original_shape, device=param.device, dtype=param.dtype + ) + param._init_method(tmp_tensor) + param_st = it["offset"] + param_end = it["offset"] + it["size"] + kw_name = it["kw_name"] + + # not in this partition + storage_st = self._storage_info[kw_name]["begin"] + storage_end = self._storage_info[kw_name]["end"] + if param_st >= storage_end: + continue + if param_end <= storage_st: + continue + + if param._tp_mode and param._tp_split_dim >= 0: + tmp_tensor = tp_split_tensor(tmp_tensor, param._tp_split_dim) + # copy to buffer + assert tmp_tensor.is_contiguous() and it["size"] == tmp_tensor.numel() + + offset_st = max(storage_st - param_st, 0) + offset_end = min(storage_end - param_st, tmp_tensor.numel()) + assert offset_st < offset_end + + # copy to buffer + # PyTorch 1.11 changed the API of storage.__getitem__ + d_dtype = self._storage_params[kw_name].dtype + d_device = self._storage_params[kw_name].device + param.data[:] = torch.tensor([], dtype=d_dtype, device=d_device).set_( + tmp_tensor.storage(), offset_st, (offset_end - offset_st,) + )[:] + del tmp_tensor + + def _named_members(self, get_members_fn, prefix="", recurse=True, **kwargs): + r"""Helper method for yielding various names + members of modules.""" + + # compitibity with torch 2.0 + if ( + "remove_duplicate" + in inspect.signature(torch.nn.Module._named_members).parameters + and "remove_duplicate" not in kwargs + ): + kwargs["remove_duplicate"] = True + return self._module._named_members(get_members_fn, prefix, recurse, **kwargs) + + def named_modules(self, memo=None, prefix: str = "", remove_duplicate: bool = True): + r"""Returns an iterator over all modules in the network, yielding + both the name of the module as well as the module itself. + + Args: + memo: a memo to store the set of modules already added to the result + prefix: a prefix that will be added to the name of the module + remove_duplicate: whether to remove the duplicated module instances in the result + or not + + Yields: + (string, Module): Tuple of name and module + + Note: + Duplicate modules are returned only once. In the following + example, ``l`` will be returned only once. + + Example:: + + >>> l = nn.Linear(2, 2) + >>> net = nn.Sequential(l, l) + >>> for idx, m in enumerate(net.named_modules()): + print(idx, '->', m) + + 0 -> ('', Sequential( + (0): Linear(in_features=2, out_features=2, bias=True) + (1): Linear(in_features=2, out_features=2, bias=True) + )) + 1 -> ('0', Linear(in_features=2, out_features=2, bias=True)) + + """ + + if memo is None: + memo = set() + if self not in memo: + if remove_duplicate: + memo.add(self) + yield prefix, self + for name, module in self._module._modules.items(): + if module is None: + continue + submodule_prefix = prefix + ("." if prefix else "") + name + for m in module.named_modules(memo, submodule_prefix, remove_duplicate): + yield m + + def named_children(self): + return self._module.named_children() + + def train(self, mode: bool = True): + self._module.train(mode) + + def eval(self): + self._module.eval() + + def __repr__(self): + return self._module.__repr__() + + +def _block_wrapper(module, module_dict: dict, mode="BLOCK"): + if not isinstance(module, Block): + in_block = id(module) in module_dict + new_module = Block(module, initialized=in_block, mode=mode) + if in_block: + new_module.reference(module_dict[id(module)]) + else: + module_dict[id(module)] = new_module + else: + if mode == "PIPE" and module._mode != "PIPE": + assert ( + False + ), 'You must be set mode="PIPE" in bmt.Block when use PipelineTransformerBlockList!' + if id(module._module) in module_dict: + assert False, "Duplicate bmt.Block not supported in same block list!" + else: + new_module = module + module_dict[id(module._module)] = new_module + return new_module + + +class TransformerBlockList(torch.nn.Module): + r""" + TransformerBlockList is a list of bmt.Block. + + This is designed to reduce the communication overhead by overlapping the computation and reduce_scatter operation during backward pass. + + It is similar to `torch.nn.ModuleList` but with the difference when calling .forward() and .backward(). + + Example: + >>> module_list = [ ... ] + >>> normal_module_list = torch.nn.ModuleList(module_list) + >>> transformer_module_list = TransformerBlockList(module_list) + >>> # Calling normal module list + >>> for layer in normal_module_list: + >>> hidden_state = layer.forward(hidden_state, ...) + >>> # Calling transformer module list + >>> hidden_state = transformer_module_list(hidden_state, ...) + + """ + + _modules: Dict[str, Block] + + def __init__(self, modules: Iterable[Block], num_hidden=1) -> None: + super().__init__() + + self._modules = {} + pre_module = None + module_dict = {} + module_dict = {} + for i, module in enumerate(modules): + module = _block_wrapper(module, module_dict) + module.set_pre_module(pre_module) + pre_module = module + module._is_first_layer = False + module._is_last_layer = False + self._modules[str(i)] = module + self.add_module(str(i), module) + + self._modules[str(0)]._is_first_layer = True + self._modules[str(len(modules) - 1)]._is_last_layer = True + + self.num_hidden = num_hidden + + def __len__(self) -> int: + return len(self._modules) + + def __iter__(self) -> Iterator[Block]: + return iter(self._modules.values()) + + def __getitem__(self, index: Union[int, str]) -> Block: + return self._modules[str(index)] + + def forward(self, *args, return_hidden_states=False): + self.return_hidden_states = return_hidden_states + hidden_states = [] + for i in range(len(self)): + if return_hidden_states: + for hidden_state in args[: self.num_hidden]: + hidden_states.append(hidden_state) + outputs = self._modules[str(i)]._call_impl(*args) + if not isinstance(outputs, tuple): + outputs = (outputs,) + args = outputs + args[self.num_hidden :] + + if return_hidden_states: + hidden_states = [ + torch.stack(hidden_states[i :: self.num_hidden], dim=0) + for i in range(self.num_hidden) + ] + + if return_hidden_states: + return outputs + tuple(hidden_states) + else: + return ( + tuple(outputs[: self.num_hidden]) if self.num_hidden > 1 else outputs[0] + ) diff --git a/examples/BMTrain/bmtrain/debug.py b/examples/BMTrain/bmtrain/debug.py new file mode 100644 index 00000000..de392623 --- /dev/null +++ b/examples/BMTrain/bmtrain/debug.py @@ -0,0 +1,34 @@ +import torch + +DEBUG_VARS = {} + +def clear(key=None): + global DEBUG_VARS + if key is None: + DEBUG_VARS = {} + else: + DEBUG_VARS.pop(key, None) + +def set(key, value): + global DEBUG_VARS + if torch.is_tensor(value): + value = value.detach().cpu() + DEBUG_VARS[key] = value + +def get(key, default=None): + global DEBUG_VARS + if key in DEBUG_VARS: + return DEBUG_VARS[key] + return default + +def append(key, value): + global DEBUG_VARS + if key not in DEBUG_VARS: + DEBUG_VARS[key] = [] + DEBUG_VARS[key].append(value) + +def extend(key, value): + global DEBUG_VARS + if key not in DEBUG_VARS: + DEBUG_VARS[key] = [] + DEBUG_VARS[key].extend(value) \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/distributed/__init__.py b/examples/BMTrain/bmtrain/distributed/__init__.py new file mode 100644 index 00000000..84a4adf8 --- /dev/null +++ b/examples/BMTrain/bmtrain/distributed/__init__.py @@ -0,0 +1 @@ +from .ops import all_gather, all_reduce, broadcast, recv_activations, send_activations, reduce_scatter diff --git a/examples/BMTrain/bmtrain/distributed/ops.py b/examples/BMTrain/bmtrain/distributed/ops.py new file mode 100644 index 00000000..d1b489e2 --- /dev/null +++ b/examples/BMTrain/bmtrain/distributed/ops.py @@ -0,0 +1,223 @@ +import torch +from ..global_var import config +from ..nccl import allGather as ncclAllGather, recv +from ..nccl import allReduce as ncclAllReduce +from ..nccl import broadcast as ncclBroadcast +from ..nccl import reduceScatter as ncclReduceScatter +from ..nccl import send as ncclSend +from ..nccl import recv as ncclRecv +from ..nccl import commCount,commRank,NCCLCommunicator +DTYPE_LIST = [ + torch.float64, + torch.float32, + torch.float16, + torch.int64, + torch.int32, + torch.int16, + torch.int8, + torch.bfloat16, + torch.bool +] +def send_activations(hidden_state, next_rank, comm): + send_meta(hidden_state, next_rank, comm) + ncclSend(hidden_state.storage(), next_rank, comm) + +def recv_activations(prev_rank, comm): + dtype, shape = recv_meta(prev_rank, comm) + hidden_state = torch.empty(shape, dtype=dtype, device="cuda") + ncclRecv(hidden_state.storage(), prev_rank, comm) + return hidden_state + +def send_meta(x, next_rank, comm): + meta_data = torch.tensor(data=[0]*50, device="cuda", dtype=torch.int) + meta_data[0] = len(x.size()) + meta_data[1] = DTYPE_LIST.index(x.dtype) + meta_data[2:len(x.size())+2] = torch.tensor(x.size(), device="cuda", dtype=torch.int) + meta_data = meta_data.contiguous() + ncclSend(meta_data.storage(), next_rank, comm) + +def recv_meta(prev_rank, comm): + meta_data = torch.tensor(data=[0]*50, device="cuda", dtype=torch.int) + ncclRecv(meta_data.storage(), prev_rank, comm) + n_dims = meta_data[0].item() + dtype = DTYPE_LIST[meta_data[1].item()] + shape = meta_data[2:n_dims+2].tolist() + return dtype,shape + +class OpBroadcast(torch.autograd.Function): + + @staticmethod + def forward(ctx, src, root, comm = None): + if comm is None: + comm = config["comm"] + ctx.comm = comm + outputs = torch.empty_like(src, dtype = src.dtype, device = src.device) + ncclBroadcast(src.storage(), outputs.storage(), root, comm) + return outputs + + @staticmethod + def backward(ctx, grad_output): + res = all_reduce(grad_output, "sum", ctx.comm) + return res, None, None + +def broadcast(src, root, comm=None): + if not config["initialized"]: + raise RuntimeError("BMTrain is not initialized") + return OpBroadcast.apply(src, root, comm) + +class OpAllGather(torch.autograd.Function): + + @staticmethod + def forward(ctx, input : torch.Tensor, comm = None): + if comm is None: + comm = config["comm"] + world_size = commCount(comm) + if not input.is_contiguous(): + input = input.contiguous() + if input.storage_offset() != 0 or input.storage().size() != input.numel(): + input = input.clone() + output = torch.empty( (world_size,) + input.size(), dtype=input.dtype, device=input.device) + ctx.comm = comm + ncclAllGather( + input.storage(), + output.storage(), + comm + ) + return output + + @staticmethod + def backward(ctx, grad_output): + return grad_output[commRank(ctx.comm)], None + +def all_gather(x : torch.Tensor, comm = None): + """Gathers the input tensor from all processes. + + Args: + x (torch.Tensor): The input tensor of shape (...). + + Returns: + torch.Tensor: The gathered tensor of shape (world_size, ...). + """ + if not config["initialized"]: + raise RuntimeError("BMTrain is not initialized") + + assert x.is_cuda + return OpAllGather.apply(x, comm) + +class OpReduceScatter(torch.autograd.Function): + + @staticmethod + def forward(ctx, input : torch.Tensor, op : str, comm : NCCLCommunicator = None): + if comm is None: + comm = config["comm"] + ctx.comm = comm + rank = commRank(comm) + assert input.shape[0] % commCount(comm) == 0, "The dimension 0 must be divisible by the number of communication processes" + if not input.is_contiguous(): + input = input.contiguous() + if input.storage_offset() != 0 or input.storage().size() != input.numel(): + input = input.clone() + output_shape = (input.shape[0] // commCount(comm), *input.shape[1:]) + output = torch.empty( output_shape, dtype=input.dtype, device=input.device ) + ncclReduceScatter( + input.storage(), + output.storage(), + op, + comm + ) + ctx.op = op + if op in ["sum", "avg"]: + pass + elif op in ["max", "min"]: + ctx.save_for_backward( output != input[rank * input.shape[0]:(rank + 1) * input.shape[0]] ) + else: + ctx.save_for_backward( output / input[rank * input.shape[0]:(rank + 1) * input.shape[0]] ) + return output + + @staticmethod + def backward(ctx, grad_output): + with torch.no_grad(): + grad_output = OpAllGather.apply(grad_output, ctx.comm).flatten(0,1) + if ctx.op in ["max", "min", "prod"]: + raise NotImplementedError("max min operation now do not support backward") + else: + if ctx.op == "avg": + grad_output /= commCount(ctx.comm) + return grad_output, None, None + + +def reduce_scatter(x : torch.Tensor, op : str = "sum", comm = None): + """Reduces the input tensor from all processes. + + Args: + x (torch.Tensor): The input tensor of shape (world_size, ...). + op (str): The reduction operation, one of "sum", "avg", "max", "min", "prod". Default: "sum". + + Returns: + torch.Tensor: The reduced tensor of shape (...). + + """ + if not config["initialized"]: + raise RuntimeError("BMTrain is not initialized") + + assert x.is_cuda + return OpReduceScatter.apply(x, op, comm) + +class OpAllReduce(torch.autograd.Function): + @staticmethod + def forward(ctx, input : torch.Tensor, op : str, comm : NCCLCommunicator = None): + if comm is None: + comm = config["comm"] + ctx.comm = comm + if not input.is_contiguous(): + input = input.contiguous() + if input.storage_offset() != 0 or input.storage().size() != input.numel(): + input = input.clone() + output = torch.empty( input.size(), dtype=input.dtype, device=input.device) + + ncclAllReduce( + input.storage(), + output.storage(), + op, + comm + ) + ctx.op = op + + if op in ["sum", "avg"]: + pass + elif op in ["max", "min"]: + ctx.save_for_backward( input != output ) + else: + ctx.save_for_backward( output / input ) + return output + + @staticmethod + def backward(ctx, grad_output): + if ctx.op == "sum": + return grad_output, None, None + elif ctx.op == "avg": + return grad_output / commCount(ctx.comm), None, None + elif ctx.op in ["max", "min"]: + return torch.masked_fill(grad_output, ctx.saved_tensors[0], 0), None, None + else: + return grad_output * ctx.saved_tensors[0], None, None + +def all_reduce(x : torch.Tensor, op : str = "sum", comm = None): + """Reduces the input tensor from all processes. + + Args: + x (torch.Tensor): The input tensor of shape (...). + op (str): The reduction operation, one of "sum", "avg", "max", "min", "prod". Default: "sum". + + Returns: + torch.Tensor: The reduced tensor of shape (...). + + """ + if not config["initialized"]: + raise RuntimeError("BMTrain is not initialized") + + assert x.is_cuda + return OpAllReduce.apply(x, op, comm) + + + diff --git a/examples/BMTrain/bmtrain/global_var.py b/examples/BMTrain/bmtrain/global_var.py new file mode 100644 index 00000000..137fa9cd --- /dev/null +++ b/examples/BMTrain/bmtrain/global_var.py @@ -0,0 +1,35 @@ +import torch +from typing_extensions import TypedDict +class ConfigMap(TypedDict): + rank : int + local_rank : int + world_size : int + local_size : int + zero_level : int + pipe_size : int + num_micro_batches : int + calc_stream : torch.cuda.Stream + load_stream : torch.cuda.Stream + load_event : torch.cuda.Event + barrier_stream : torch.cuda.Stream + loss_scale_factor : float + loss_scale_steps : int + topology : 'topology' + gradient_inspect : bool + initialized : bool + + comm : 'NCCLCommunicator' + +config = ConfigMap(rank=0, local_rank=0, world_size=1, initialized=False) + +def rank(): + """ + Returns the global rank of the current process. (0 ~ world_size-1) + """ + return config['rank'] + +def world_size(): + """ + Returns the total number of workers across all nodes. + """ + return config['world_size'] diff --git a/examples/BMTrain/bmtrain/hook_func.py b/examples/BMTrain/bmtrain/hook_func.py new file mode 100644 index 00000000..577331a2 --- /dev/null +++ b/examples/BMTrain/bmtrain/hook_func.py @@ -0,0 +1,121 @@ +import torch +from .global_var import config +from .zero_context import ZeroContext + + +def zero_pre_forward(module, inputs): + """Helper function for using ZeroContext to gather parmas before forward.""" + enter = True + pipe = False + if module._mode == "PIPE": + enter = module._micro_idx == 0 + pipe = True + if enter: + zero_level = module._zero_level + forward_flag = 1 if zero_level == 2 else 0 + if zero_level == 2 and not module._need_release: + forward_flag = 2 # repeating forward in same layer + if module.all_param_no_grad: # only forward + forward_flag = 0 + module._forward_block_ctx = ZeroContext(module, module._layer_dict, pipe=pipe) + module._forward_block_ctx.enter(forward_flag) + + +def zero_post_forward(module, inputs, outputs): + """Helper function for module _forwar_block_ctx weather exits after forward.""" + forward_flag = 1 if module._zero_level == 2 else 0 + if module.all_param_no_grad: + forward_flag = 0 + exit = True + if module._mode == "PIPE": + exit = module._micro_idx == config["micros"] - 1 + + if exit: + module._forward_block_ctx.exit(forward_flag) + + +def zero_pre_backward(module, grad_outputs): + """Helper function for using ZeroContext to init grad buffer before backward.""" + backward_flag = 2 if module._zero_level == 2 else 0 + if module._mode != "PIPE": + module._backward_block_ctx = ZeroContext(module, module._layer_dict) + module._backward_block_ctx.enter(backward_flag, True) + module.release_next_module(backward_flag) + else: + if module._micro_idx == config["micros"] - 1: + module._backward_block_ctx = ZeroContext( + module, module._layer_dict, pipe=True + ) + module._backward_block_ctx.enter(backward_flag, True) + + +def zero_post_backward(module, grad_inputs, grad_outputs): + """Helper function for module weather release after backward.""" + backward_flag = 2 if module._zero_level == 2 else 0 + if module._mode != "PIPE": + if module._is_first_layer: + module.release(backward_flag) + else: + if module._micro_idx == 0: + module.release(backward_flag) + module._micro_idx -= 1 + + +class OneStepNoGradFunc(torch.autograd.Function): + """ + Requires_grad = False for all inputs. + """ + + @staticmethod + def forward(ctx, module, placeholder, *x): + ctx.x = x + ctx.module = module + ctx.rng_state = torch.cuda.get_rng_state() + + with torch.no_grad(): + out = module._module(*x) + zero_post_forward(module, None, out) + if not isinstance(out, torch.Tensor): + return tuple(out) + return out + + @staticmethod + def backward(ctx, grads): + zero_pre_backward(ctx.module, grads) + with torch.random.fork_rng(devices=[torch.cuda.current_device()], enabled=True): + torch.cuda.set_rng_state(ctx.rng_state) + x = ctx.x + with torch.enable_grad(): + out = ctx.module._module(*x) + torch.autograd.backward(out, grads) + zero_post_backward(ctx.module, grads, None) + grads = [] + for _ in x: + grads.append(None) + return None, None, *grads + + +class PreHookFunc(torch.autograd.Function): + @staticmethod + def forward(ctx, module, *x): + ctx.module = module + zero_pre_forward(module, x) + return x + + @staticmethod + def backward(ctx, *grads): + zero_post_backward(ctx.module, grads, None) + return None, *grads + + +class PostHookFunc(torch.autograd.Function): + @staticmethod + def forward(ctx, module, *out): + ctx.module = module + zero_post_forward(module, None, out) + return out + + @staticmethod + def backward(ctx, *grads): + zero_pre_backward(ctx.module, grads) + return None, *grads diff --git a/examples/BMTrain/bmtrain/init.py b/examples/BMTrain/bmtrain/init.py new file mode 100644 index 00000000..601d617e --- /dev/null +++ b/examples/BMTrain/bmtrain/init.py @@ -0,0 +1,258 @@ +import datetime +import torch +import random +import torch.distributed as dist +import os +from .utils import print_dict +import ctypes +from .global_var import config + +from . import nccl +from .synchronize import synchronize + + +def init_distributed( + init_method: str = "env://", + seed: int = 0, + pipe_size: int = -1, + num_micro_batches: int = None, + tp_size: int = 1, +): + """Initialize distributed training. + This function will initialize the distributed training, set the random seed and global configurations. + It must be called before any other distributed functions. + + Args: + seed (int): The random seed. + pipe_size (int) : pipe_size means that all processes will be divided into pipe_size groups + num_micro_batches (int) : means that the input batchs will be divided into num_micro_batches small batches. used in pipeline mode. + tp_size (int) : tp_size means the size of each of tensor parallel group + + **init_distributed** reads the following environment variables: + + * `WORLD_SIZE`: The total number gpus in the distributed training. + * `RANK`: The global rank of the current gpu. From 0 to `WORLD_SIZE - 1`. + * `MASTER_ADDR`: The address of the master node. + * `MASTER_PORT`: The port of the master node. + * `LOCAL_RANK`: The local rank of the current gpu. + + Normally, all the environments variables above are setted by the pytorch distributed launcher. + + **Note**: Do not use any functions in torch.distributed package including `torch.distributed.init_process_group` . + + **Note**: If your training script is stuck here , it means some of your distributed workers are not connected to the master node. + + """ + torch.backends.cudnn.enabled = False + + local_rank = int(os.environ.get("LOCAL_RANK", "0")) + rank = int(os.environ.get("RANK", "0")) + world_size = int(os.environ.get("WORLD_SIZE", "1")) + local_size = int(os.environ.get("LOCAL_WORLD_SIZE", "1")) + if "MASTER_ADDR" not in os.environ: + os.environ["MASTER_ADDR"] = "localhost" + if "MASTER_PORT" not in os.environ: + os.environ["MASTER_PORT"] = "10010" + addr = os.environ["MASTER_ADDR"] + port = os.environ["MASTER_PORT"] + master = addr + ":" + port + timeout = datetime.timedelta(seconds=1800) + rendezvous_iterator = dist.rendezvous( + init_method, rank, world_size, timeout=timeout + ) + + store, rank, world_size = next(rendezvous_iterator) + store.set_timeout(timeout) + store = dist.PrefixStore("bmtrain", store) + torch.cuda.set_device(local_rank) + config["initialized"] = True + config["pipe_size"] = pipe_size if pipe_size > 0 else 1 + config["pipe_enabled"] = pipe_size > 0 + config["local_rank"] = local_rank + config["local_size"] = local_size + config["rank"] = rank + config["world_size"] = world_size + config["calc_stream"] = torch.cuda.current_stream() + config["load_stream"] = torch.cuda.Stream(priority=-1) + config["tp_comm_stream"] = torch.cuda.Stream(priority=-1) + config["pp_comm_stream"] = torch.cuda.Stream(priority=-1) + config["barrier_stream"] = torch.cuda.Stream() + config["load_event"] = torch.cuda.Event() + config["tp_size"] = tp_size if tp_size > 0 else 1 + config["topology"] = topology(config) + config["zero_rank"] = config["topology"].get_group_rank("zero") + config["tp_rank"] = config["topology"].get_group_rank("tp") + config["tp_zero_rank"] = config["topology"].get_group_rank("tp_zero") + config["save_param_to_cpu"] = True + cpus_this_worker = None + + all_available_cpus = sorted(list(os.sched_getaffinity(0))) + + cpus_per_worker = len(all_available_cpus) // local_size + + if cpus_per_worker < 1: + cpus_this_worker = all_available_cpus + torch.set_num_threads(1) + else: + cpus_this_worker = all_available_cpus[ + local_rank * cpus_per_worker : (local_rank + 1) * cpus_per_worker + ] + os.sched_setaffinity(0, cpus_this_worker) + torch.set_num_threads(len(cpus_this_worker)) + + torch.manual_seed(seed) + random.seed(seed) + try: + import numpy as np + + np.random.seed(seed) + except ModuleNotFoundError: + pass + + if rank == 0: + unique_id: bytes = nccl.getUniqueId() + store.set("BMTRAIN_UNIQUE_ID", unique_id.hex()) + + unique_id = bytes.fromhex(store.get("BMTRAIN_UNIQUE_ID").decode()) + config["comm"] = nccl.commInitRank(unique_id, world_size, rank) + topo = config["topology"] + + if config["pipe_enabled"]: + config["micros"] = ( + num_micro_batches if num_micro_batches else config["pipe_size"] + ) + if topo.stage_id == 0: + unique_id = nccl.getUniqueId() + store.set(f"PIPE_UNIQUE_ID{topo.pipe_idx}", unique_id.hex()) + unique_id = bytes.fromhex(store.get(f"PIPE_UNIQUE_ID{topo.pipe_idx}").decode()) + config["pipe_comm"] = nccl.commInitRank(unique_id, pipe_size, topo.stage_id) + + if topo.pp_zero_id == 0: + unique_id = nccl.getUniqueId() + store.set(f"PP_ZERO_UNIQUE_ID{topo.pp_zero_idx}", unique_id.hex()) + unique_id = bytes.fromhex( + store.get(f"PP_ZERO_UNIQUE_ID{topo.pp_zero_idx}").decode() + ) + config["pp_zero_comm"] = nccl.commInitRank( + unique_id, world_size // config["pipe_size"], topo.pp_zero_id + ) + + if config["tp_size"] > 1: + if topo.tp_id == 0: + unique_id = nccl.getUniqueId() + store.set(f"TP_UNIQUE_ID{topo.tp_idx}", unique_id.hex()) + unique_id = bytes.fromhex(store.get(f"TP_UNIQUE_ID{topo.tp_idx}").decode()) + config["tp_comm"] = nccl.commInitRank(unique_id, tp_size, topo.tp_id) + + if topo.tp_zero_id == 0: + unique_id = nccl.getUniqueId() + store.set(f"TP_ZERO_UNIQUE_ID{topo.tp_zero_idx}", unique_id.hex()) + unique_id = bytes.fromhex( + store.get(f"TP_ZERO_UNIQUE_ID{topo.tp_zero_idx}").decode() + ) + config["tp_zero_comm"] = nccl.commInitRank( + unique_id, world_size // config["tp_size"], topo.tp_zero_id + ) + + if config["pipe_size"] > 1 and config["tp_size"] > 1: + if topo.pp_tp_zero_id == 0: + unique_id = nccl.getUniqueId() + store.set(f"PP_TP_ZERO_UNIQUE_ID{topo.pp_tp_zero_idx}", unique_id.hex()) + unique_id = bytes.fromhex( + store.get(f"PP_TP_ZERO_UNIQUE_ID{topo.pp_tp_zero_idx}").decode() + ) + config["pp_tp_zero_comm"] = nccl.commInitRank( + unique_id, + world_size // (config["pipe_size"] * config["tp_size"]), + topo.pp_tp_zero_id, + ) + + config["zero_comm"] = config["comm"] + + for i in range(world_size): + if i == rank: + print_dict( + "Initialization", + { + "rank": rank, + "local_rank": local_rank, + "world_size": world_size, + "local_size": local_size, + "master": master, + "device": torch.cuda.current_device(), + "cpus": cpus_this_worker, + }, + ) + synchronize() + + +class topology: + """A helper class to keep parallel information when using different parallel methods together.""" + + def __init__(self, config): + # pipe_idx is the idx of the pipeline in the group + self.rank = config["rank"] + pp_size = config["pipe_size"] + tp_size = config["tp_size"] + world_size = config["world_size"] + assert ( + world_size % (pp_size * tp_size) == 0 + ), "The nums of GPUs must be divisible by the pipeline parallel size * tensor parallel size" + + dp_size = world_size // (pp_size * tp_size) + config["tp_zero_size"] = dp_size + config["zero_size"] = world_size // pp_size + self.stages = config["pipe_size"] + + stage_size = world_size // pp_size + for i in range(world_size): + self.pipe_idx = self.rank % stage_size + self.stage_id = self.rank // stage_size + self.tp_id = self.rank % tp_size + self.tp_idx = self.rank // tp_size + # pp->zero + self.pp_zero_idx = self.stage_id + self.pp_zero_id = self.pipe_idx + # tp->zero + self.tp_zero_idx = self.tp_id + self.tp_zero_id = self.tp_idx + # pp->tp->zero + self.pp_tp_zero_idx = self.stage_id * tp_size + self.tp_id + self.pp_tp_zero_id = self.pipe_idx // tp_size + # only zero + self.zero_idx = 0 + self.zero_id = self.rank + + def get_group_id(self, group_name): + """Get group id of different parallel group. + + Args: + group_name (str): must be one of "pipe", "zero", "tp_zero" or "tp". + """ + if group_name == "pipe": + return self.pipe_idx + elif group_name == "zero": + return self.zero_idx + elif group_name == "tp_zero": + return self.tp_zero_idx + elif group_name == "tp": + return self.tp_idx + + def get_group_rank(self, group_name): + """Get group rank of different parallel group. + + Args: + group_name (str): must be one of "pipe", "zero", "tp_zero" or "tp". + """ + if group_name == "pipe": + return self.stage_id + elif group_name == "zero": + return self.zero_id + elif group_name == "tp_zero": + return self.tp_zero_id + elif group_name == "tp": + return self.tp_id + + +def is_initialized() -> bool: + return config["initialized"] diff --git a/examples/BMTrain/bmtrain/inspect/__init__.py b/examples/BMTrain/bmtrain/inspect/__init__.py new file mode 100644 index 00000000..2b6d2d26 --- /dev/null +++ b/examples/BMTrain/bmtrain/inspect/__init__.py @@ -0,0 +1,3 @@ +from .format import format_summary +from .model import inspect_model +from .tensor import inspect_tensor, record_tensor \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/inspect/format.py b/examples/BMTrain/bmtrain/inspect/format.py new file mode 100644 index 00000000..79b3a1e5 --- /dev/null +++ b/examples/BMTrain/bmtrain/inspect/format.py @@ -0,0 +1,64 @@ +from typing import Any, Dict, List + +def align_str(s : str, align : int, left : bool) -> str: + if left: + return s + " " * (align - len(s)) + else: + return " " * (align - len(s)) + s + +def format_line(strs : List[str], length : List[int]): + ret = "" + for v, l in zip(strs, length): + if len(v) + 1 > l: + v = " " + v[:l - 1] + else: + v = " " + v + ret += align_str(v, l, True) + return ret + +def item_formater(x) -> str: + if isinstance(x, float): + return "{:.4f}".format(x) + else: + return str(x) + +def format_summary(summary : List[Dict[str, Any]]) -> str: + """Format summary to string. + + Args: + summary (List[Dict[str, Any]]): The summary to format. + + Returns: + str: The formatted summary. + + """ + ret = [] + + max_name_len = max([len("name")] + [len(item["name"]) for item in summary]) + 4 + headers = [ + "name", + "shape", + "max", + "min", + "std", + "mean", + "grad_std", + "grad_mean", + ] + headers_length = [ + max_name_len, + 20, + 10, + 10, + 10, + 10, + 10, + 10 + ] + ret.append( format_line(headers, headers_length) ) + for item in summary: + values = [ item_formater(item[name]) for name in headers ] + ret.append( format_line(values, headers_length) ) + return "\n".join(ret) + + \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/inspect/model.py b/examples/BMTrain/bmtrain/inspect/model.py new file mode 100644 index 00000000..fc54f0d6 --- /dev/null +++ b/examples/BMTrain/bmtrain/inspect/model.py @@ -0,0 +1,246 @@ +import torch +from ..store import broadcast_object +from ..pipe_layer import PipelineTransformerBlockList +from ..block_layer import Block +from ..parameter import DistributedParameter +from .. import nccl +from ..global_var import config +import fnmatch + +def _gather_value(value : torch.Tensor, partition_size, origin_size): + global_size = partition_size * config['world_size'] + + storage = value.storage_type()(global_size) + + if value.storage().size() != partition_size: + tmp_buf = torch.zeros(partition_size, dtype=value.dtype, device=value.device) + tmp_buf[:value.numel()] = value[:] + nccl.allGather( + tmp_buf.storage(), + storage, + config['comm'] + ) + else: + nccl.allGather( + value.storage(), + storage, + config['comm'] + ) + + output_tensor = torch.tensor([], dtype=value.dtype, device="cuda") + output_tensor.set_(storage, 0, origin_size) + + return output_tensor + +def inspect_pipeline_transformer_block_list(pipe_model: PipelineTransformerBlockList, param_name : str, _prefix : str = ''): + ret = [] + for name, model in pipe_model._modules.items(): + idx = int(name) + prefix = _prefix + name + '.' + + # fast check + pass_fast_check = False + for param in model._param_info: + abs_name = prefix + param["name"] + if fnmatch.fnmatch(abs_name, param_name): + pass_fast_check = True + break + if not pass_fast_check: + continue + + if idx in pipe_model.layer_ids: + _param_buffer = {} + _grad_buffer = {} + for kw, val in model._storage_info.items(): + storage_type = model._storage_params[kw].storage_type() + + _param_buffer[kw] = storage_type(val["partition_size"] * val['world_size']) + if model._storage_params[kw].grad is not None: + _grad_buffer[kw] = storage_type(val["partition_size"] * val['world_size']) + + nccl.groupStart() + for kw, val in model._storage_info.items(): + nccl.allGather( + model._storage_params[kw].storage(), + _param_buffer[kw], + val["zero_comm"] + ) + if model._storage_params[kw].grad is not None: + nccl.allGather( + model._storage_params[kw].grad.storage(), + _grad_buffer[kw], + val["zero_comm"] + ) + + nccl.groupEnd() + for param in model._param_info: + abs_name = prefix + param["name"] + if fnmatch.fnmatch(abs_name, param_name): + kw_name = param["kw_name"] + dtype = _param_buffer[kw_name].dtype + device = _param_buffer[kw_name].device + offset = param["offset"] + shape = param["shape"] + p = torch.tensor([], dtype=dtype, device=device).set_(_param_buffer[kw_name], offset, shape) + if kw_name in _grad_buffer: + g = torch.tensor([], dtype=dtype, device=device).set_(_grad_buffer[kw_name], offset, shape) + info = { + "name": abs_name, + "shape": tuple(shape), + "std": p.std().cpu().item(), + "mean": p.mean().cpu().item(), + "grad_std": g.std().cpu().item(), + "grad_mean": g.mean().cpu().item(), + "max": p.max().cpu().item(), + "min": p.min().cpu().item(), + } + else: + info = { + "name": abs_name, + "shape": tuple(shape), + "std": p.std().cpu().item(), + "mean": p.mean().cpu().item(), + "grad_std": 0., + "grad_mean": 0., + "max": p.max().cpu().item(), + "min": p.min().cpu().item(), + } + broadcast_object(info, config["pipe_comm"], pipe_model.get_stage_by_layer_id(idx)) + ret.append(info) + else: + for param in model._param_info: + abs_name = prefix + param["name"] + if fnmatch.fnmatch(abs_name, param_name): + info = broadcast_object({}, config["pipe_comm"], pipe_model.get_stage_by_layer_id(idx)) + ret.append(info) + + return ret + + +def inspect_block(model : Block, param_name : str, prefix : str = ''): + # fast check + pass_fast_check = False + for param in model._param_info: + abs_name = prefix + param["name"] + if fnmatch.fnmatch(abs_name, param_name): + pass_fast_check = True + break + if not pass_fast_check: + return [] + + _param_buffer = {} + _grad_buffer = {} + for kw, val in model._storage_info.items(): + storage_type = model._storage_params[kw].storage_type() + + _param_buffer[kw] = storage_type(val["partition_size"] * config['world_size']) + if model._storage_params[kw].grad is not None: + _grad_buffer[kw] = storage_type(val["partition_size"] * config['world_size']) + + nccl.groupStart() + for kw, val in model._storage_info.items(): + nccl.allGather( + model._storage_params[kw].storage(), + _param_buffer[kw], + config["comm"] + ) + if model._storage_params[kw].grad is not None: + nccl.allGather( + model._storage_params[kw].grad.storage(), + _grad_buffer[kw], + config["comm"] + ) + + nccl.groupEnd() + ret = [] + for param in model._param_info: + abs_name = prefix + param["name"] + if fnmatch.fnmatch(abs_name, param_name): + kw_name = param["kw_name"] + dtype = _param_buffer[kw_name].dtype + device = _param_buffer[kw_name].device + offset = param["offset"] + shape = param["shape"] + p = torch.tensor([], dtype=dtype, device=device).set_(_param_buffer[kw_name], offset, shape) + if kw_name in _grad_buffer: + g = torch.tensor([], dtype=dtype, device=device).set_(_grad_buffer[kw_name], offset, shape) + ret.append({ + "name": abs_name, + "shape": tuple(shape), + "std": p.std().cpu().item(), + "mean": p.mean().cpu().item(), + "grad_std": g.std().cpu().item(), + "grad_mean": g.mean().cpu().item(), + "max": p.max().cpu().item(), + "min": p.min().cpu().item(), + }) + else: + ret.append({ + "name": abs_name, + "shape": tuple(shape), + "std": p.std().cpu().item(), + "mean": p.mean().cpu().item(), + "grad_std": 0., + "grad_mean": 0., + "max": p.max().cpu().item(), + "min": p.min().cpu().item(), + }) + return ret + +@torch.no_grad() +def inspect_model(model : torch.nn.Module, param_name : str, prefix : str = ''): + """Inspect the model and return the summary of the parameters. + + Args: + model (torch.nn.Module): The model to be inspected. + param_name (str): The name of the parameter to be inspected. The wildcard '*' can be used to match multiple parameters. + prefix (str): The prefix of the parameter name. + + Returns: + list: The summary of the parameters. + + Example: + >>> result_linear = bmt.inspect.inspect_model(model, "*.linear*") + >>> result_layernorm = bmt.inspect.inspect_model(model, "*.layernorm*") + >>> text_summray = bmt.inspect.format_summary(result_linear + result_layernorm) + >>> bmt.print_rank(text_summary) + name shape max min std mean grad_std grad_mean + ... + + """ + if isinstance(model, PipelineTransformerBlockList): + return inspect_pipeline_transformer_block_list(model, param_name, prefix) + elif isinstance(model, Block): + return inspect_block(model, param_name, prefix) + else: + ret = [] + for name, param in model._parameters.items(): + if fnmatch.fnmatch(prefix + name, param_name): + if isinstance(param, DistributedParameter): + p = _gather_value(param.data, param.storage().size(), param._original_shape) + else: + p = param + if p is None: + continue + stats = { + 'name': prefix + name, + 'shape': tuple(p.size()), + "std": p.std().cpu().item(), + "mean": p.mean().cpu().item(), + "max": p.max().cpu().item(), + "min": p.min().cpu().item(), + } + if param.grad is not None: + if isinstance(param, DistributedParameter): + g = _gather_value(param.grad.data, param.storage().size(), param._original_shape) + else: + g = param.grad + stats["grad_std"] = g.std().cpu().item() + stats["grad_mean"] = g.mean().cpu().item() + else: + stats["grad_std"] = 0. + stats["grad_mean"] = 0. + ret.append(stats) + for name, module in model._modules.items(): + ret.extend(inspect_model(module, param_name, prefix + name + '.')) + return ret diff --git a/examples/BMTrain/bmtrain/inspect/tensor.py b/examples/BMTrain/bmtrain/inspect/tensor.py new file mode 100644 index 00000000..9d003f82 --- /dev/null +++ b/examples/BMTrain/bmtrain/inspect/tensor.py @@ -0,0 +1,383 @@ +from typing import Optional +import torch +from .. import debug +from .. import nccl +from ..global_var import config +from ..store import broadcast_object +from ..distributed import broadcast +import math + + +class InspectTensor: + """This object is returned by `InspectTensorManager`. + + You can get the tensors recorded by `record_tensor`. + + """ + + def __init__(self): + self.summary = [] + + def _set_summary(self, summary): + self._summary = summary + for item in summary: + item["prefix"] = "" if item["group"] is None else f'{item["group"]}.' + + self.summary = [] + + kw_cnt = {} + i = 0 + while i < len(summary): + item = summary[i] + if item["inside_pipe"] is not None: + before_len = len(self.summary) + + assert item["inside_pipe"]["st"] + pipe_cnt = {} + j = i + while j < len(summary): + item = summary[j] + kw = f'{item["prefix"]}{item["name"]}' + + assert item["inside_pipe"] is not None + stage_id = item["inside_pipe"]["stage_id"] + stages = item["inside_pipe"]["stages"] + st = item["inside_pipe"]["st"] + ed = item["inside_pipe"]["ed"] + + if kw not in pipe_cnt: + pipe_cnt[kw] = 0 + pipe_cnt[kw] += 1 + + j += 1 + if ed: + break + + for stage in range(stages): + if stage_id == stage: + broadcast_object(pipe_cnt, config["pipe_comm"], src=stage) + for k in range(i, j): + item = summary[k] + kw = f'{item["prefix"]}{item["name"]}' + if kw not in kw_cnt: + kw_cnt[kw] = 0 + tensor = torch.cat( + [ + summary[k + m * (j - i)]["tensor"] + for m in range(config["micros"]) + ], + dim=0, + ) + grad = ( + torch.cat( + [ + summary[k + m * (j - i)]["tensor"].grad + for m in range(config["micros"]) + ], + dim=0, + ) + if item["requires_grad"] + and item["tensor"].grad is not None + else None + ) + self.summary.append( + { + "name": item["name"], + "summary_name": f'{item["prefix"]}{kw_cnt[kw]}.{item["name"]}', + "group": item["group"], + "min": None, + "max": None, + "mean": None, + "std": None, + "shape": (item["shape"][0] * config["micros"],) + + item["shape"][1:], + "grad_mean": None, + "grad_std": None, + "tensor": tensor, + "grad": grad, + "requires_grad": item["requires_grad"], + "inside_pipe": {"stage_id": stage}, + } + ) + kw_cnt[kw] += 1 + else: + cnt = broadcast_object({}, config["pipe_comm"], src=stage) + for kw, val in cnt.items(): + if kw not in kw_cnt: + kw_cnt[kw] = 0 + for _ in range(val): + self.summary.append( + { + "name": item["name"], + "summary_name": f'{item["prefix"]}{kw_cnt[kw]}.{item["name"]}', + "group": None, + "min": None, + "max": None, + "mean": None, + "std": None, + "shape": None, + "grad_mean": None, + "grad_std": None, + "tensor": None, + "grad": None, + "requires_grad": None, + "inside_pipe": {"stage_id": stage}, + } + ) + kw_cnt[kw] += 1 + + after_len = len(self.summary) + with torch.enable_grad(): + for it in self.summary[before_len:after_len]: + if it["tensor"] is not None: + has_grad = it["grad"] is not None + info = { + "group": it["group"], + "shape": it["shape"], + "requires_grad": it["requires_grad"], + "has_grad": has_grad, + } + broadcast_object( + info, + config["pipe_comm"], + src=it["inside_pipe"]["stage_id"], + ) + tensor = it["tensor"] + tensor = broadcast( + tensor, + it["inside_pipe"]["stage_id"], + config["pipe_comm"], + ) + grad = it["grad"] + else: + info = broadcast_object( + {}, + config["pipe_comm"], + src=it["inside_pipe"]["stage_id"], + ) + has_grad = info.pop("has_grad") + it.update(info) + tensor = torch.empty(it["shape"]).cuda().requires_grad_() + tensor = broadcast( + tensor, + it["inside_pipe"]["stage_id"], + config["pipe_comm"], + ) + if has_grad: + grad = torch.empty(it["shape"]).cuda() + tensor = tensor.chunk(stages, dim=0)[stage_id].clone() + it["tensor"] = tensor + if has_grad: + grad = broadcast( + grad, it["inside_pipe"]["stage_id"], config["pipe_comm"] + ) + grad = grad.chunk(stages, dim=0)[stage_id].clone() + tensor.grad = grad + it["shape"] = (it["shape"][0] // config["pipe_size"],) + it[ + "shape" + ][1:] + + i = i + config["micros"] * (j - i) + else: + kw = f'{item["prefix"]}{item["name"]}' + if kw not in kw_cnt: + kw_cnt[kw] = 0 + self.summary.append( + { + "name": item["name"], + "summary_name": f'{item["prefix"]}{kw_cnt[kw]}.{item["name"]}', + "group": item["group"], + "min": None, + "max": None, + "mean": None, + "std": None, + "shape": item["shape"], + "grad_mean": None, + "grad_std": None, + "tensor": item["tensor"], + "requires_grad": item["requires_grad"], + "inside_pipe": None, + } + ) + kw_cnt[kw] += 1 + i = i + 1 + + def get_summary(self): + r"""Get the summary of the tensors recorded by `record_tensor`. + + Returns: + A list of dicts. Each dict contains the following keys: + - name: The name of the tensor. + - min: The minimum value of the tensor. + - max: The maximum value of the tensor. + - mean: The mean value of the tensor. + - std: The standard deviation of the tensor. + - shape: The shape of the tensor. + - grad_mean: The mean value of the gradient of the tensor. + - grad_std: The standard deviation of the gradient of the tensor. + + **Note:** This method must be called outside of the `with` block. + + """ + self._set_summary(self._summary) + ret = [] + for item in self.summary: + comm = config["comm"] + + if not item["requires_grad"] or item["tensor"].grad is None: + x = item["tensor"] + info = torch.empty(2, dtype=x.dtype, device=x.device) + info[0] = x.mean() + info[1] = x.var() + nccl.allReduce(info.storage(), info.storage(), "sum", comm) + info = info / nccl.commCount(comm) + x_mean = info[0].cpu().item() + x_std = math.sqrt(info[1].cpu().item()) + grad_mean = None + grad_std = None + else: + x = item["tensor"] + info = torch.empty(4, dtype=x.dtype, device=x.device) + info[0] = x.mean() + info[1] = x.var() + info[2] = x.grad.mean() + info[3] = x.grad.var() + nccl.allReduce(info.storage(), info.storage(), "sum", comm) + info = info / nccl.commCount(comm) + x_mean = info[0].cpu().item() + x_std = math.sqrt(info[1].cpu().item()) + grad_mean = info[2].cpu().item() + grad_std = math.sqrt(info[3].cpu().item()) + + info[0] = x.max() + info[1] = -x.min() + nccl.allReduce(info.storage(), info.storage(), "max", comm) + x_max = info[0].cpu().item() + x_min = -info[1].cpu().item() + + summary = { + "name": item["summary_name"], + "min": x_min, + "max": x_max, + "mean": x_mean, + "std": x_std, + "shape": tuple( + (item["shape"][0] * config["world_size"],) + item["shape"][1:] + ), + "grad_mean": grad_mean, + "grad_std": grad_std, + } + + ret.append(summary) + return ret + + def get_tensor( + self, name: str, group: Optional[str] = None, index: Optional[int] = None + ) -> torch.Tensor: + """Get the tensor recorded by `record_tensor` by name, group and index. + + Args: + name (str): The name of the tensor. + group (Optional[str]): The group of the tensor. + index (Optional[int]): The index of the tensor. + + Returns: + The tensor if found, otherwise None. + + """ + group_name_prefix = f"{group}." if group is not None else "" + + all_names = [] + if index is None: + all_names.append(f"{group_name_prefix}{name}") + all_names.append(f"{group_name_prefix}0.{name}") + else: + all_names.append(f"{group_name_prefix}{index}.{name}") + + for item in self.summary: + if item["name"] in all_names: + return item["tensor"] + return None + + +class InspectTensorManager: + def __init__(self) -> None: + self._inspector = None + + def __enter__(self) -> InspectTensor: + self.prev_val = debug.get("_inspect_tensor", False) + if not self.prev_val: + debug.set("_inspect_tensor", True) + self._inspector = InspectTensor() + return self._inspector + else: + raise RuntimeError("InspectTensorManager is already in use") + + def __exit__(self, *args): + if not self.prev_val: + debug.set("_inspect_tensor", self.prev_val) + summary = debug.get("_inspect_hidden_states", []) + self._inspector._set_summary(summary) + self._inspector = None + debug.set("_inspect_hidden_states", []) + + +def inspect_tensor() -> InspectTensorManager: + """**inspect_tensor** returns a context manager that can be used to get the intermediate results of the model computations and their gradients. + + Example: + >>> with bmt.inspect.inspect_tensor() as inspector: + >>> loss = model(inputs) + >>> loss.backward() + >>> summary = inspector.get_summary() + >>> text_summary = bmt.inspect.format_summary(summary) + >>> bmt.print_rank(text_summary) + name shape max min std mean grad_std grad_mean + ... + + **Note:** loss.backward() must be called inside the context manager, otherwise the gradients will not be recorded. + **Note:** Calling get_summary() has significant overhead. + + """ + + return InspectTensorManager() + + +def record_tensor(x: torch.Tensor, name: str, group=None): + """Record the tensor for inspection. + + Args: + x (torch.Tensor): The tensor to be recorded. + name (str): The name of the tensor. + group (str): The group name of the tensor. + + **Note:** This function is only available in inspect_tensor context. + **Note:** Recording too many tensors may cause memory issues. + + """ + if isinstance(x, torch.nn.Parameter): + raise RuntimeError("Cannot inspect Parameter") + + if not debug.get("_inspect_tensor", False): + # do nothing + return + + if x.requires_grad: + x.retain_grad() + debug.append( + "_inspect_hidden_states", + { + "name": name, + "group": group, + "min": None, + "max": None, + "mean": None, + "std": None, + "shape": x.shape, + "grad_mean": None, + "grad_std": None, + "tensor": x, + "requires_grad": x.requires_grad, + "inside_pipe": None, + }, + ) diff --git a/examples/BMTrain/bmtrain/layer.py b/examples/BMTrain/bmtrain/layer.py new file mode 100644 index 00000000..e071e01b --- /dev/null +++ b/examples/BMTrain/bmtrain/layer.py @@ -0,0 +1,143 @@ +import torch +from .parameter import DistributedParameter +from .global_var import config +import itertools +from .utils import tp_split_tensor + +class DistributedModule(torch.nn.Module): + """ + DistributedModule is a subclass of torch.nn.Module that overrides the `__getattr__` method to gather distributed parameters automatically. + + """ + + def __getattr__(self, name: str): + ret = super().__getattr__(name) + # gather distributed parameters if not in bmt.Block + if isinstance(ret, DistributedParameter) and not ret._in_block: + return ret.gather() + return ret + + def _save_to_state_dict(self, destination, prefix, keep_vars): + r"""Saves module state to `destination` dictionary, containing a state + of the module, but not its descendants. This is called on every + submodule in :meth:`~torch.nn.Module.state_dict`. + + In rare cases, subclasses can achieve class-specific behavior by + overriding this method with custom logic. + + Args: + destination (dict): a dict where state will be stored + prefix (str): the prefix for parameters and buffers used in this + module + """ + for name, param in self._parameters.items(): + if param is not None: + if isinstance(param, DistributedParameter):#and not param._in_block: + if param._in_block: + destination[prefix + name] = param.tp_gather().detach() # sync operation + else: + destination[prefix + name] = param.gather_all().detach() # sync operation + if config['save_param_to_cpu']: + destination[prefix + name] = destination[prefix + name].cpu() + else: + if config['save_param_to_cpu']: + destination[prefix + name] = param if keep_vars else param.detach().cpu() + else: + destination[prefix + name] = param if keep_vars else param.detach() + + for name, buf in self._buffers.items(): + if buf is not None and name not in self._non_persistent_buffers_set: + destination[prefix + name] = buf if keep_vars else buf.detach() + + def _load_from_state_dict(self, state_dict, prefix, local_metadata, strict, + missing_keys, unexpected_keys, error_msgs): + r"""Copies parameters and buffers from :attr:`state_dict` into only + this module, but not its descendants. This is called on every submodule + in :meth:`~torch.nn.Module.load_state_dict`. Metadata saved for this + module in input :attr:`state_dict` is provided as :attr:`local_metadata`. + For state dicts without metadata, :attr:`local_metadata` is empty. + Subclasses can achieve class-specific backward compatible loading using + the version number at `local_metadata.get("version", None)`. + + .. note:: + :attr:`state_dict` is not the same object as the input + :attr:`state_dict` to :meth:`~torch.nn.Module.load_state_dict`. So + it can be modified. + + Args: + state_dict (dict): a dict containing parameters and + persistent buffers. + prefix (str): the prefix for parameters and buffers used in this + module + local_metadata (dict): a dict containing the metadata for this module. + See + strict (bool): whether to strictly enforce that the keys in + :attr:`state_dict` with :attr:`prefix` match the names of + parameters and buffers in this module + missing_keys (list of str): if ``strict=True``, add missing keys to + this list + unexpected_keys (list of str): if ``strict=True``, add unexpected + keys to this list + error_msgs (list of str): error messages should be added to this + list, and will be reported together in + :meth:`~torch.nn.Module.load_state_dict` + """ + for hook in self._load_state_dict_pre_hooks.values(): + hook(state_dict, prefix, local_metadata, strict, missing_keys, unexpected_keys, error_msgs) + + persistent_buffers = {k: v for k, v in self._buffers.items() if k not in self._non_persistent_buffers_set} + local_name_params = itertools.chain(self._parameters.items(), persistent_buffers.items()) + local_state = {k: v for k, v in local_name_params if v is not None} + + for name, param in local_state.items(): + key = prefix + name + if key in state_dict: + tp_mode = param._tp_mode + input_param = state_dict[key] + if input_param.__class__.__name__ == "DistributedTensorWrapper": + input_param = input_param.broadcast() + # This is used to avoid copying uninitialized parameters into + # non-lazy modules, since they dont have the hook to do the checks + # in such case, it will error when accessing the .shape attribute. + is_param_lazy = torch.nn.parameter.is_lazy(param) + # Backward compatibility: loading 1-dim tensor from 0.3.* to version 0.4+ + if not is_param_lazy and len(param.shape) == 0 and len(input_param.shape) == 1: + input_param = input_param[0] + + if not is_param_lazy and not isinstance(param, DistributedParameter) and input_param.shape != param.shape: + # local shape should match the one in checkpoint + error_msgs.append('size mismatch for {}: copying a param with shape {} from checkpoint, ' + 'the shape in current model is {}.' + .format(key, input_param.shape, param.shape)) + continue + verify_shape = torch.Size(param._original_shape if not tp_mode else param._tp_original_shape) + if not is_param_lazy and isinstance(param, DistributedParameter) and input_param.shape != verify_shape: + error_msgs.append('size mismatch for {}: copying a param with shape {} from checkpoint, ' + 'the shape in current model is {}.' + .format(key, input_param.shape, verify_shape)) + try: + with torch.no_grad(): + if isinstance(param, DistributedParameter): + tp_split_dim = param._tp_split_dim + if tp_mode and tp_split_dim >= 0: + input_param = tp_split_tensor(input_param, tp_split_dim) + param._copy_data(input_param) + else: + param.copy_(input_param) + except Exception as ex: + error_msgs.append('While copying the parameter named "{}", ' + 'whose dimensions in the model are {} and ' + 'whose dimensions in the checkpoint are {}, ' + 'an exception occurred : {}.' + .format(key, param.size(), input_param.size(), ex.args)) + elif strict: + missing_keys.append(key) + + if strict: + for key in state_dict.keys(): + if key.startswith(prefix): + input_name = key[len(prefix):] + input_name = input_name.split('.', 1)[0] # get the name of param/buffer/child + if input_name not in self._modules and input_name not in local_state: + unexpected_keys.append(key) + diff --git a/examples/BMTrain/bmtrain/loss/__init__.py b/examples/BMTrain/bmtrain/loss/__init__.py new file mode 100644 index 00000000..daa731fd --- /dev/null +++ b/examples/BMTrain/bmtrain/loss/__init__.py @@ -0,0 +1 @@ +from .cross_entropy import FusedCrossEntropy \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/loss/_function.py b/examples/BMTrain/bmtrain/loss/_function.py new file mode 100644 index 00000000..6ff3c471 --- /dev/null +++ b/examples/BMTrain/bmtrain/loss/_function.py @@ -0,0 +1,182 @@ +from .. import C +import torch + +CHECK_INPUT = lambda x: x.is_contiguous() and x.is_cuda + + +def has_inf_nan(g_half: torch.Tensor, out: torch.Tensor) -> None: + assert out.dtype == torch.uint8, "out must be a uint8 tensor" + assert CHECK_INPUT(g_half), "g_fp16 must be contiguous and on cuda" + assert CHECK_INPUT(out), "out must be contiguous and on cuda" + mid = torch.zeros(1024, device=out.device, dtype=out.dtype) + stream = torch.cuda.current_stream().cuda_stream + if g_half.dtype == torch.float16: + C.has_nan_inf_fp16_launcher( + g_half.numel(), g_half.data_ptr(), mid.data_ptr(), out.data_ptr(), stream + ) + elif g_half.dtype == torch.bfloat16: + if not C.is_bf16_supported(): + raise NotImplementedError(f"bfloat16 is not supported on current GPU") + C.has_nan_inf_bf16_launcher( + g_half.numel(), g_half.data_ptr(), mid.data_ptr(), out.data_ptr(), stream + ) + else: + raise ValueError(f"has_inf_nan not supported for dtype {g_half.dtype}") + + +def cross_entropy_forward( + m: int, + n: int, + input: torch.Tensor, + target: torch.Tensor, + softmax: torch.Tensor, + output: torch.Tensor, + ignore_index: int, +) -> None: + CHECK_INPUT(input) + CHECK_INPUT(target) + CHECK_INPUT(softmax) + CHECK_INPUT(output) + assert target.dtype == torch.int32, "target must be an int tensor" + assert output.dtype == torch.float32, "output must be a float tensor" + assert ( + input.numel() == softmax.numel() + ), "input and softmax must have the same number of elements" + assert ( + target.numel() == output.numel() + ), "target and output must have the same number of elements" + input_ptr = input.data_ptr() + target_ptr = target.data_ptr() + softmax_ptr = softmax.data_ptr() + output_ptr = output.data_ptr() + cuda_stream = torch.cuda.current_stream().cuda_stream + if input.dtype == torch.float16: + C.cross_entropy_forward_fp16_launcher( + m, + n, + input_ptr, + target_ptr, + softmax_ptr, + output_ptr, + ignore_index, + cuda_stream, + ) + elif input.dtype == torch.bfloat16: + if not C.is_bf16_supported(): + raise NotImplementedError(f"bfloat16 is not supported on current GPU") + C.cross_entropy_forward_bf16_launcher( + m, + n, + input_ptr, + target_ptr, + softmax_ptr, + output_ptr, + ignore_index, + cuda_stream, + ) + else: + raise ValueError(f"cross_entropy_forward not supported for dtype {input.dtype}") + + +def cross_entropy_backward_inplace( + m: int, + n: int, + grad_output: torch.Tensor, + target: torch.Tensor, + x: torch.Tensor, + ignore_index: int, +) -> None: + CHECK_INPUT(grad_output) + CHECK_INPUT(target) + CHECK_INPUT(x) + assert grad_output.dtype == torch.float32, "grad_output must be a float tensor" + assert target.dtype == torch.int32, "target must be an int tensor" + assert ( + target.numel() == grad_output.numel() + ), "target and grad_output must have the same number of elements" + cuda_stream = torch.cuda.current_stream().cuda_stream + grad_output_ptr = grad_output.data_ptr() + target_ptr = target.data_ptr() + x_ptr = x.data_ptr() + + if x.dtype == torch.float16: + C.cross_entropy_backward_inplace_fp16_launcher( + m, n, grad_output_ptr, target_ptr, x_ptr, ignore_index, cuda_stream + ) + elif x.dtype == torch.bfloat16: + if not C.is_bf16_supported(): + raise NotImplementedError(f"bfloat16 is not supported on current GPU") + C.cross_entropy_backward_inplace_bf16_launcher( + m, n, grad_output_ptr, target_ptr, x_ptr, ignore_index, cuda_stream + ) + else: + raise ValueError( + f"cross_entropy_backward not supported for dtype {input.dtype}" + ) + + +def fused_sumexp(logits: torch.Tensor, max_logits: torch.Tensor) -> torch.Tensor: + CHECK_INPUT(logits) + CHECK_INPUT(max_logits) + assert max_logits.dtype == torch.float32, "max_logits must be float tensor" + assert max_logits.size(0) == logits.size( + 0 + ), "max_logits must have same size(0) as logits" + sum_exp_logits = torch.empty( + logits.size(0), dtype=torch.float32, device=logits.device + ) + m = logits.size(0) + n = logits.size(1) + cuda_stream = torch.cuda.current_stream().cuda_stream + logits_ptr = logits.data_ptr() + max_logits_ptr = max_logits.data_ptr() + sum_exp_logits_ptr = sum_exp_logits.data_ptr() + if logits.dtype == torch.float16: + C.fused_sumexp_fp16_launcher( + m, n, logits_ptr, max_logits_ptr, sum_exp_logits_ptr, cuda_stream + ) + elif logits.dtype == torch.bfloat16: + if not C.is_bf16_supported(): + raise NotImplementedError(f"bfloat16 is not supported on current GPU") + C.fused_sumexp_bf16_launcher( + m, n, logits_ptr, max_logits_ptr, sum_exp_logits_ptr, cuda_stream + ) + else: + raise ValueError(f"fused_sumexp not supported for dtype {logits.dtype}") + return sum_exp_logits + + +def fused_softmax_inplace( + logits: torch.Tensor, max_logits: torch.Tensor, sum_exp_logits: torch.Tensor +) -> None: + CHECK_INPUT(logits) + CHECK_INPUT(max_logits) + CHECK_INPUT(sum_exp_logits) + assert max_logits.dtype == torch.float32, "max_logits must be float tensor" + assert sum_exp_logits.dtype == torch.float32, "sum_exp_logits must be float tensor" + assert max_logits.size(0) == logits.size( + 0 + ), "max_logits must have same size(0) as logits" + assert sum_exp_logits.size(0) == logits.size( + 0 + ), "sum_exp_logits must have same size(0) as logits" + m = logits.size(0) + n = logits.size(1) + cuda_stream = torch.cuda.current_stream().cuda_stream + logits_ptr = logits.data_ptr() + max_logits_ptr = max_logits.data_ptr() + sum_exp_logits_ptr = sum_exp_logits.data_ptr() + if logits.dtype == torch.float16: + C.fused_softmax_inplace_fp16_launcher( + m, n, logits_ptr, max_logits_ptr, sum_exp_logits_ptr, cuda_stream + ) + elif logits.dtype == torch.bfloat16: + if not C.is_bf16_supported(): + raise NotImplementedError(f"bfloat16 is not supported on current GPU") + C.fused_softmax_inplace_bf16_launcher( + m, n, logits_ptr, max_logits_ptr, sum_exp_logits_ptr, cuda_stream + ) + else: + raise ValueError( + f"fused_softmax_inplace not supported for dtype {logits.dtype}" + ) diff --git a/examples/BMTrain/bmtrain/loss/cross_entropy.py b/examples/BMTrain/bmtrain/loss/cross_entropy.py new file mode 100644 index 00000000..5be07665 --- /dev/null +++ b/examples/BMTrain/bmtrain/loss/cross_entropy.py @@ -0,0 +1,260 @@ +from typing import Optional +import torch +from . import _function as F +from bmtrain.global_var import config +from bmtrain.distributed import all_gather, all_reduce + +class OpFusedCrossEntropy(torch.autograd.Function): + """ + CrossEntropy dim = 1 + """ + @staticmethod + def forward(ctx, x : torch.Tensor, target : torch.Tensor, ignore_index: int): + assert x.ndim == 2 + softmax = torch.empty(x.size(), device=x.device, dtype=x.dtype) + out = torch.empty(x.size(0), device=x.device, dtype=torch.float) + F.cross_entropy_forward( + x.size(0), x.size(1), + x, target, + softmax, out, + ignore_index, + ) + ctx.ignore_index = ignore_index + ctx.save_for_backward(softmax, target) + return out # float tensor + + @staticmethod + def backward(ctx, grad_output : torch.Tensor): + grad_output = grad_output.contiguous() + softmax, target = ctx.saved_tensors + F.cross_entropy_backward_inplace( + softmax.size(0), softmax.size(1), + grad_output, target, + softmax, + ctx.ignore_index, + ) + return (softmax, None, None) + +class VPFusedCrossEntropy(torch.autograd.Function): + @staticmethod + def forward(ctx, logits : torch.Tensor, target : torch.Tensor): + comm = config['tp_comm'] + rank = config['tp_rank'] + world_size = config['tp_size'] + + max_logits = torch.max(logits, dim=-1)[0].float() + max_logits = all_reduce(max_logits, op="max", comm=comm) + + partition_vocab_size = logits.size()[-1] + vocab_start_index = rank * partition_vocab_size + vocab_end_index = (rank + 1) * partition_vocab_size + + # Create a mask of valid vocab ids (1 means it needs to be masked). + target_mask = (target < vocab_start_index) | (target >= vocab_end_index) + masked_target = target.clone() - vocab_start_index + masked_target[target_mask] = 0 + + logits_2d = logits.view(-1, partition_vocab_size) + masked_target_1d = masked_target.view(-1) + arange_1d = torch.arange(start=0, end=logits_2d.size()[0], device=logits_2d.device) + predicted_logits_1d = logits_2d[arange_1d, masked_target_1d].contiguous() # (-1,) + predicted_logits = predicted_logits_1d.view_as(target) + predicted_logits[target_mask] = 0.0 # if target=-100, it will also be 0 + + # All reduce is needed to get the chunks from other GPUs. + predicted_logits = all_reduce(predicted_logits.float(), op="sum", comm=comm) + predicted_logits = predicted_logits - max_logits + # Sum of exponential of logits along vocab dimension across all GPUs. + + sum_exp_logits = torch.empty(logits.size(0), device=logits.device, dtype=torch.float) + sum_exp_logits = F.fused_sumexp(logits, max_logits) # float + sum_exp_logits = all_reduce(sum_exp_logits, op="sum", comm=comm) + 1e-10 # avoid nan + + softmax = logits.clone() + F.fused_softmax_inplace(softmax, max_logits, sum_exp_logits) # logits -> softmax + # logits = logits.float() - max_logits.unsqueeze(dim=-1).float() + # exp_logits = logits + # torch.exp(logits, out=exp_logits) + # sum_exp_logits = exp_logits.sum(dim=-1) + # exp_logits.div_(sum_exp_logits.unsqueeze(dim=-1)) + + loss = torch.log(sum_exp_logits.view(predicted_logits.shape)) - predicted_logits + + # Normalize + ctx.save_for_backward(softmax, target_mask, masked_target_1d) + + return loss + + @staticmethod + def backward(ctx, grad_output): + # Retreive tensors from the forward path. + softmax, target_mask, masked_target_1d = ctx.saved_tensors + # All the inputs have softmax as thier gradient. + grad_input = softmax + # For simplicity, work with the 2D gradient. + partition_vocab_size = softmax.size()[-1] + grad_2d = grad_input.view(-1, partition_vocab_size) + + # Add the gradient from matching classes. + arange_1d = torch.arange(start=0, end=grad_2d.size()[0], device=grad_2d.device) + + softmax_update = 1.0 - target_mask.view(-1).float() + + grad_2d[arange_1d, masked_target_1d] -= softmax_update + grad_input.mul_(grad_output.view(*grad_input.shape[:-1]).unsqueeze(dim=-1)) + + return grad_input, None + +class FusedCrossEntropy(torch.nn.Module): + r"""This criterion computes the cross entropy loss between input and target. + + It is useful when training a classification problem with `C` classes. + If provided, the optional argument :attr:`weight` should be a 1D `Tensor` + assigning weight to each of the classes. + This is particularly useful when you have an unbalanced training set. + + The `input` is expected to contain raw, unnormalized scores for each class. + `input` has to be a Tensor of size :math:`(minibatch, C)`. + + The `target` that this criterion expects should contain either: + + - Class indices in the range :math:`[0, C-1]` where :math:`C` is the number of classes; if + `ignore_index` is specified, this loss also accepts this class index (this index + may not necessarily be in the class range). The unreduced (i.e. with :attr:`reduction` + set to ``'none'``) loss for this case can be described as: + + .. math:: + \ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad + l_n = - w_{y_n} \log \frac{\exp(x_{n,y_n})}{\sum_{c=1}^C \exp(x_{n,c})} + \cdot \mathbb{1}\{y_n \not= \text{ignore\_index}\} + + where :math:`x` is the input, :math:`y` is the target, :math:`w` is the weight, + :math:`C` is the number of classes, and :math:`N` spans the minibatch dimension. If + :attr:`reduction` is not ``'none'`` (default ``'mean'``), then + + .. math:: + \ell(x, y) = \begin{cases} + \sum_{n=1}^N \frac{1}{\sum_{n=1}^N w_{y_n} \cdot \mathbb{1}\{y_n \not= \text{ignore\_index}\}} l_n, & + \text{if reduction} = \text{`mean';}\\ + \sum_{n=1}^N l_n, & + \text{if reduction} = \text{`sum'.} + \end{cases} + + Note that this case is equivalent to the combination of :class:`~torch.nn.LogSoftmax` and + :class:`~torch.nn.NLLLoss`. + + - Probabilities for each class; useful when labels beyond a single class per minibatch item + are required, such as for blended labels, label smoothing, etc. The unreduced (i.e. with + :attr:`reduction` set to ``'none'``) loss for this case can be described as: + + .. math:: + \ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad + l_n = - \sum_{c=1}^C w_c \log \frac{\exp(x_{n,c})}{\exp(\sum_{i=1}^C x_{n,i})} y_{n,c} + + where :math:`x` is the input, :math:`y` is the target, :math:`w` is the weight, + :math:`C` is the number of classes, and :math:`N` spans the minibatch dimension. If + :attr:`reduction` is not ``'none'`` (default ``'mean'``), then + + .. math:: + \ell(x, y) = \begin{cases} + \frac{\sum_{n=1}^N l_n}{N}, & + \text{if reduction} = \text{`mean';}\\ + \sum_{n=1}^N l_n, & + \text{if reduction} = \text{`sum'.} + \end{cases} + + .. note:: + The performance of this criterion is generally better when `target` contains class + indices, as this allows for optimized computation. Consider providing `target` as + class probabilities only when a single class label per minibatch item is too restrictive. + + Args: + weight (Tensor, optional): a manual rescaling weight given to each class. + If given, has to be a Tensor of size `C` + size_average (bool, optional): Deprecated (see :attr:`reduction`). By default, + the losses are averaged over each loss element in the batch. Note that for + some losses, there are multiple elements per sample. If the field :attr:`size_average` + is set to ``False``, the losses are instead summed for each minibatch. Ignored + when :attr:`reduce` is ``False``. Default: ``True`` + ignore_index (int, optional): Specifies a target value that is ignored + and does not contribute to the input gradient. When :attr:`size_average` is + ``True``, the loss is averaged over non-ignored targets. Note that + :attr:`ignore_index` is only applicable when the target contains class indices. + reduce (bool, optional): Deprecated (see :attr:`reduction`). By default, the + losses are averaged or summed over observations for each minibatch depending + on :attr:`size_average`. When :attr:`reduce` is ``False``, returns a loss per + batch element instead and ignores :attr:`size_average`. Default: ``True`` + reduction (string, optional): Specifies the reduction to apply to the output: + ``'none'`` | ``'mean'`` | ``'sum'``. ``'none'``: no reduction will + be applied, ``'mean'``: the weighted mean of the output is taken, + ``'sum'``: the output will be summed. Note: :attr:`size_average` + and :attr:`reduce` are in the process of being deprecated, and in + the meantime, specifying either of those two args will override + :attr:`reduction`. Default: ``'mean'`` + label_smoothing (float, optional): A float in [0.0, 1.0]. Specifies the amount + of smoothing when computing the loss, where 0.0 means no smoothing. The targets + become a mixture of the original ground truth and a uniform distribution as described in + `Rethinking the Inception Architecture for Computer Vision <https://arxiv.org/abs/1512.00567>`__. Default: :math:`0.0`. + + Shape: + - Input: :math:`(N, C)` where `C = number of classes`. + - Target: If containing class indices, shape :math:`(N)` where each value is + :math:`0 \leq \text{targets}[i] \leq C-1`. If containing class probabilities, + same shape as the input. + - Output: If :attr:`reduction` is ``'none'``, shape :math:`(N)`. + Otherwise, scalar. + + Examples:: + + >>> # Example of target with class indices + >>> loss_func = bmt.loss.FusedCrossEntropy() + >>> input = torch.randn(32, 100).half() + >>> target = torch.randint(0, 100, (32,)).long() + >>> loss = loss_func(input, target) + >>> loss.backward() + """ + def __init__(self, + weight: Optional[torch.Tensor] = None, + ignore_index: int = -100, + reduction: str = 'mean', + label_smoothing: float = 0.0, # TODO not supported yet + parallel: bool = False, + ) -> None: + super().__init__() + self.weight = weight + self.ignore_index = ignore_index + self.reduction = reduction + self.label_smoothing = label_smoothing + self.parallel = parallel + + def forward(self, input: torch.Tensor, target: torch.Tensor) -> torch.Tensor: + if self.parallel: + ret = VPFusedCrossEntropy.apply(input, target.long()) + else: + if input.dtype == torch.float32: + return torch.nn.functional.cross_entropy( + input, + target.long(), + weight=self.weight, + ignore_index=self.ignore_index, + reduction=self.reduction, + label_smoothing=self.label_smoothing) + + ret = OpFusedCrossEntropy.apply(input, target.int(), self.ignore_index) # return float tensor + + if self.weight is not None: + if self.weight.dim() != 1 or self.weight.size(0) != input.size(1): + raise ValueError("weight should be a 1D tensor of size C"); + w = self.weight[torch.where(target==self.ignore_index, 0, target)].float() + w[target==self.ignore_index] = 0 + else: + w = (target != self.ignore_index).int() + + ret = w * ret + + if self.reduction == "none": + return ret + elif self.reduction == "sum": + return ret.sum() + elif self.reduction == "mean": + return ret.sum() / w.sum().float() diff --git a/examples/BMTrain/bmtrain/lr_scheduler/__init__.py b/examples/BMTrain/bmtrain/lr_scheduler/__init__.py new file mode 100644 index 00000000..0d9a0596 --- /dev/null +++ b/examples/BMTrain/bmtrain/lr_scheduler/__init__.py @@ -0,0 +1,6 @@ +from .warmup import WarmupLRScheduler +from .no_decay import NoDecay +from .noam import Noam +from .linear import Linear +from .cosine import Cosine +from .exponential import Exponential \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/lr_scheduler/cosine.py b/examples/BMTrain/bmtrain/lr_scheduler/cosine.py new file mode 100644 index 00000000..3aed034d --- /dev/null +++ b/examples/BMTrain/bmtrain/lr_scheduler/cosine.py @@ -0,0 +1,18 @@ +import math +from .warmup import WarmupLRScheduler + + +class Cosine(WarmupLRScheduler): + r""" + After a warmup period during which learning rate increases linearly between 0 and the start_lr, + The decay period performs :math:`\text{lr}=\text{start_lr}\times \dfrac{1+\cos \left( \pi \cdot \dfrac{\text{num_iter}-\text{warmup_iter}}{\text{end_iter}-\text{warmup_iter}}\right)}{2}` + """ + + def get_lr_warmup(self, num_iter) -> float: + return self.start_lr * num_iter / self.warmup_iter + + def get_lr_decay(self, num_iter) -> float: + progress = (num_iter - self.warmup_iter) / max( + 1, (self.end_iter - self.warmup_iter) + ) + return max(0.0, self.start_lr * 0.5 * (1.0 + math.cos(progress * math.pi))) diff --git a/examples/BMTrain/bmtrain/lr_scheduler/exponential.py b/examples/BMTrain/bmtrain/lr_scheduler/exponential.py new file mode 100644 index 00000000..6cf3240e --- /dev/null +++ b/examples/BMTrain/bmtrain/lr_scheduler/exponential.py @@ -0,0 +1,20 @@ +from .warmup import WarmupLRScheduler + + +class Exponential(WarmupLRScheduler): + r""" + After a warmup period during which learning rate increases linearly between 0 and the start_lr, + The decay period performs :math:`\text{lr}=\text{start_lr}\times \gamma ^ {\left(\text{num_iter}-\text{warmup_iter}\right)}` + """ + + def __init__( + self, optimizer, start_lr, warmup_iter, end_iter, num_iter, gamma=0.95 + ) -> None: + super().__init__(optimizer, start_lr, warmup_iter, end_iter, num_iter) + self.gamma = gamma + + def get_lr_warmup(self, num_iter) -> float: + return self.start_lr * num_iter / self.warmup_iter + + def get_lr_decay(self, num_iter) -> float: + return max(0.0, self.start_lr * self.gamma ** (num_iter - self.warmup_iter)) diff --git a/examples/BMTrain/bmtrain/lr_scheduler/linear.py b/examples/BMTrain/bmtrain/lr_scheduler/linear.py new file mode 100644 index 00000000..af193dd8 --- /dev/null +++ b/examples/BMTrain/bmtrain/lr_scheduler/linear.py @@ -0,0 +1,19 @@ +from .warmup import WarmupLRScheduler + + +class Linear(WarmupLRScheduler): + r""" + After a warmup period during which learning rate increases linearly between 0 and the start_lr, + The decay period performs :math:`\text{lr}=\text{start_lr}\times \dfrac{\text{end_iter}-\text{num_iter}}{\text{end_iter}-\text{warmup_iter}}` + """ + + def get_lr_warmup(self, num_iter) -> float: + return self.start_lr * num_iter / self.warmup_iter + + def get_lr_decay(self, num_iter) -> float: + return max( + 0.0, + self.start_lr + * (self.end_iter - num_iter) + / (self.end_iter - self.warmup_iter), + ) diff --git a/examples/BMTrain/bmtrain/lr_scheduler/no_decay.py b/examples/BMTrain/bmtrain/lr_scheduler/no_decay.py new file mode 100644 index 00000000..6f85bf0a --- /dev/null +++ b/examples/BMTrain/bmtrain/lr_scheduler/no_decay.py @@ -0,0 +1,14 @@ +from .warmup import WarmupLRScheduler + + +class NoDecay(WarmupLRScheduler): + r""" + After a warmup period during which learning rate increases linearly between 0 and the start_lr, + The decay period performs :math:`\text{lr}=\text{start_lr}` + """ + + def get_lr_warmup(self, num_iter) -> float: + return self.start_lr * num_iter / self.warmup_iter + + def get_lr_decay(self, num_iter) -> float: + return self.start_lr diff --git a/examples/BMTrain/bmtrain/lr_scheduler/noam.py b/examples/BMTrain/bmtrain/lr_scheduler/noam.py new file mode 100644 index 00000000..8954a64d --- /dev/null +++ b/examples/BMTrain/bmtrain/lr_scheduler/noam.py @@ -0,0 +1,15 @@ +import math +from .warmup import WarmupLRScheduler + + +class Noam(WarmupLRScheduler): + r""" + After a warmup period during which performs :math:`\text{lr}=\text{start_lr}\times \dfrac{\text{num_iter}}{\text{warmup_iter}^{3/2}}`, + The decay period performs :math:`\text{lr}=\text{start_lr}\times \dfrac{\text{1}}{\sqrt{\text{num_iter}}}` + """ + + def get_lr_warmup(self, num_iter) -> float: + return self.start_lr / math.sqrt(self.warmup_iter) * num_iter / self.warmup_iter + + def get_lr_decay(self, num_iter) -> float: + return self.start_lr / math.sqrt(num_iter) diff --git a/examples/BMTrain/bmtrain/lr_scheduler/warmup.py b/examples/BMTrain/bmtrain/lr_scheduler/warmup.py new file mode 100644 index 00000000..1f9ccc8e --- /dev/null +++ b/examples/BMTrain/bmtrain/lr_scheduler/warmup.py @@ -0,0 +1,72 @@ +import torch + + +class WarmupLRScheduler: + r"""Base class for learning rate schedulers with warmup. + + Args: + optimizer (torch.optim.Optimizer): optimizer used for training + start_lr (float): starting learning rate + warmup_iter (int): number of iterations to linearly increase learning rate + end_iter (int): number of iterations to stop training + num_iter (int): current iteration number + """ + + def __init__( + self, + optimizer: torch.optim.Optimizer, + start_lr, + warmup_iter, + end_iter, + num_iter=0, + ) -> None: + self.start_lr = start_lr + self.warmup_iter = warmup_iter + self.end_iter = end_iter + self.optimizer = optimizer + self.num_iter = num_iter + self._current_lr = None + + self.step(self.num_iter) + + def get_lr_warmup(self, num_iter) -> float: ... + + def get_lr_decay(self, num_iter) -> float: ... + + def get_lr(self): + assert self.num_iter >= 0 + + if self.num_iter < self.warmup_iter: + return self.get_lr_warmup(self.num_iter) + else: + return self.get_lr_decay(self.num_iter) + + @property + def current_lr(self): + return self._current_lr + + def step(self, num_iter=None) -> None: + if num_iter is None: + num_iter = self.num_iter + 1 + self.num_iter = num_iter + + lr = self.get_lr() + self._current_lr = lr + for group in self.optimizer.param_groups: + group["lr"] = lr + + def state_dict(self): + return { + "start_lr": self.start_lr, + "warmup_iter": self.warmup_iter, + "end_iter": self.end_iter, + "num_iter": self.num_iter, + } + + def load_state_dict(self, state_dict): + self.start_lr = state_dict["start_lr"] + self.warmup_iter = state_dict["warmup_iter"] + self.end_iter = state_dict["end_iter"] + self.num_iter = state_dict["num_iter"] + + self.step(self.num_iter) diff --git a/examples/BMTrain/bmtrain/nccl/__init__.py b/examples/BMTrain/bmtrain/nccl/__init__.py new file mode 100644 index 00000000..0f4129d5 --- /dev/null +++ b/examples/BMTrain/bmtrain/nccl/__init__.py @@ -0,0 +1,336 @@ + +from typing_extensions import Literal +import torch +from .. import C +from .enums import * + +class NCCLCommunicator: + """ + NCCL communicator stores the communicator handle. + """ + + def __init__(self, ptr) -> None: + self.__ptr = ptr + + @property + def ptr(self): + """ + Returns the communicator handle. + """ + if self.__ptr == -1: + raise RuntimeError("NCCL Communicator is already destroyed") + return self.__ptr + + def _destroy_ptr(self): + self.__ptr = -1 + +# utils + +def dtype2nccl(dtype : torch.dtype) -> int: + MAP = { + torch.int8: ncclInt8, + torch.uint8 : ncclUint8, + torch.int32 : ncclInt32, + torch.int : ncclInt32, + torch.int64 : ncclInt64, + torch.float16 : ncclFloat16, + torch.half : ncclHalf, + torch.bfloat16 : ncclBFloat16, + torch.float32 : ncclFloat32, + torch.float : ncclFloat, + torch.float64 : ncclFloat64, + torch.double : ncclDouble, + torch.bool : ncclBool + } + if dtype not in MAP: + raise TypeError("Unsupport dtype %s" % dtype) + return MAP[dtype] + +def op2nccl( + op : Literal["sum", "prod", "max", "min", "avg"] +): + if op == "sum": + return ncclSum + if op == "prod": + return ncclProd + if op == "max": + return ncclMax + if op == "min": + return ncclMin + if op == "avg": + return ncclAvg + raise ValueError("Unknown gather op %s") + +# wrappers + +def getUniqueId() -> bytes: + """ + NCCL API: `ncclGetUniqueId <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/comms.html#ncclgetuniqueid>`_ + + """ + return C.ncclGetUniqueId() + +def commInitRank(unique_id : bytes, world_size : int, rank : int) -> NCCLCommunicator: + """ + NCCL API: `ncclCommInitRank <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/comms.html#ncclcomminitrank>`_ + + """ + assert rank >= 0 and rank < world_size, "rank must be between 0 and world_size-1" + return NCCLCommunicator(C.ncclCommInitRank(unique_id, world_size, rank)) + +def commDestroy(comm : NCCLCommunicator): + """ + NCCL API: `ncclCommDestroy <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/comms.html#ncclcommdestroy>`_ + + """ + C.ncclCommDestroy(comm.ptr) + comm._destroy_ptr() +def commCount(comm : NCCLCommunicator): + """NCCL API: `ncclCommCount <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/comms.html#ncclcommcount>`_ + + Args: + comm (NCCLCommunicator): NCCL communicator. + """ + return C.ncclCommCount(comm.ptr) +### collective +def commRank(comm : NCCLCommunicator): + """NCCL API: `ncclCommUserRank <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/comms.html#ncclCommUserRank>`_ + + Args: + comm (NCCLCommunicator): NCCL communicator. + """ + return C.ncclCommUserRank(comm.ptr) +def allReduce( + src : torch.storage._StorageBase, + dst : torch.storage._StorageBase, + op : Literal["sum", "prod", "max", "min", "avg"], + comm : NCCLCommunicator + ): + """NCCL API: `ncclAllReduce <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/colls.html#ncclallreduce>`_ + + Args: + src (torch.storage._StorageBase): Source buffer. + dst (torch.storage._StorageBase): Destination buffer. + op (Literal["sum", "prod", "max", "min", "avg"]): Reduction operation. + comm (NCCLCommunicator): NCCL communicator. + + The src and dst buffers must be the same size, type and on the same device. + + If src == dst, the operation is performed in-place. + + """ + assert src.dtype == dst.dtype, "send and recv buffers must be the same time" + assert src.is_cuda and dst.is_cuda + + sendbuff = src.data_ptr() + recvbuff = dst.data_ptr() + count = src.size() + datatype = dtype2nccl(src.dtype) + operator = op2nccl(op) + + assert src.size() == dst.size(), "Buffer size not aligned" + C.ncclAllReduce( + sendbuff, + recvbuff, + count, + datatype, + operator, + comm.ptr, + torch.cuda.current_stream().cuda_stream + ) +def send(src : torch.storage._StorageBase, + peer : int, + comm : NCCLCommunicator + ): + """NCCL API: `ncclsend <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/p2p.html#ncclsend>`_ + + Args: + src (torch.storage._StorageBase): Source buffer. + peer (int): rank peer needs to call ncclRecv + comm (NCCLCommunicator): NCCL communicator. + """ + + sendbuff = src.data_ptr() + count = src.size() + datatype = dtype2nccl(src.dtype) + C.ncclSend( + sendbuff, + count, + datatype, + peer, + comm.ptr, + torch.cuda.current_stream().cuda_stream + ) +def recv(dst : torch.storage._StorageBase, + peer : int, + comm : NCCLCommunicator + ): + recvbuff = dst.data_ptr() + count = dst.size() + datatype = dtype2nccl(dst.dtype) + C.ncclRecv( + recvbuff, + count, + datatype, + peer, + comm.ptr, + torch.cuda.current_stream().cuda_stream + ) + +def broadcast( + src : torch.storage._StorageBase, + dst : torch.storage._StorageBase, + root : int, + comm : NCCLCommunicator + ): + """NCCL API: `ncclBroadcast <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/colls.html#ncclbroadcast>`_ + + Args: + src (torch.storage._StorageBase): Source buffer. + dst (torch.storage._StorageBase): Destination buffer. + root (int): Rank of the root. + comm (NCCLCommunicator): NCCL communicator. + + The src and dst buffers must be the same size, type and on the same device. + + If src == dst, the operation is performed in-place. + + """ + + assert src.dtype == dst.dtype, "send and recv buffers must be the same time" + assert src.is_cuda and dst.is_cuda + + sendbuff = src.data_ptr() + recvbuff = dst.data_ptr() + count = src.size() + datatype = dtype2nccl(src.dtype) + + assert dst.size() == src.size(), "Buffer size not aligned" + C.ncclBroadcast( + sendbuff, + recvbuff, + count, + datatype, + root, + comm.ptr, + torch.cuda.current_stream().cuda_stream + ) + +def reduce( + src : torch.storage._StorageBase, + dst : torch.storage._StorageBase, + op : Literal["sum", "prod", "max", "min", "avg"], + root : int, + comm : NCCLCommunicator + ): + """NCCL API: `ncclReduce <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/colls.html#ncclreduce>`_ + + Args: + src (torch.storage._StorageBase): Source buffer. + dst (torch.storage._StorageBase): Destination buffer. + op (Literal["sum", "prod", "max", "min", "avg"]): Reduction operation. + root (int): Rank of the root. + comm (NCCLCommunicator): NCCL communicator. + + The src and dst buffers must be the same size, type and on the same device. + + If src == dst, the operation is performed in-place. + + """ + assert src.dtype == dst.dtype, "send and recv buffers must be the same time" + assert src.is_cuda and dst.is_cuda + + sendbuff = src.data_ptr() + recvbuff = dst.data_ptr() + count = src.size() + datatype = dtype2nccl(src.dtype) + operator = op2nccl(op) + + assert dst.size() == src.size(), "Buffer size not aligned" + C.ncclReduce(sendbuff, recvbuff, count, datatype, operator, root, comm.ptr, torch.cuda.current_stream().cuda_stream) + +def allGather( + src : torch.storage._StorageBase, + dst : torch.storage._StorageBase, + comm : NCCLCommunicator + ): + """NCCL API: `ncclAllGather <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/colls.html#ncclallgather>`_ + + Args: + src (torch.storage._StorageBase): Source buffer. + dst (torch.storage._StorageBase): Destination buffer. + comm (NCCLCommunicator): NCCL communicator. + + The size of the dst buffer must be equal to the size of src buffer * world_size. + + The dst buffer is only used on rank root. + + """ + assert src.dtype == dst.dtype, "send and recv buffers must be the same time" + assert src.is_cuda and dst.is_cuda + + sendbuff = src.data_ptr() + recvbuff = dst.data_ptr() + sendcount = src.size() + datatype = dtype2nccl(src.dtype) + assert dst.size() % sendcount == 0, "Buffer size not aligned" + C.ncclAllGather( + sendbuff, + recvbuff, + sendcount, + datatype, + comm.ptr, + torch.cuda.current_stream().cuda_stream + ) + + +def reduceScatter( + src : torch.storage._StorageBase, + dst : torch.storage._StorageBase, + op : Literal["sum", "prod", "max", "min", "avg"], + comm : NCCLCommunicator + ): + """NCCL API: `ncclReduceScatter <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/colls.html#ncclreducescatter>`_ + + Args: + src (torch.storage._StorageBase): Source buffer. + dst (torch.storage._StorageBase): Destination buffer. + op (Literal["sum", "prod", "max", "min", "avg"]): Reduction operation. + comm (NCCLCommunicator): NCCL communicator. + + The size of the dst buffer must be equal to the size of src buffer / world_size. + + The dst buffer on rank `i` will contail the i-th block of the reduced result. + + """ + assert src.dtype == dst.dtype, "send and recv buffers must be the same time" + assert src.is_cuda and dst.is_cuda + + sendbuff = src.data_ptr() + recvbuff = dst.data_ptr() + recvcount = dst.size() + datatype = dtype2nccl(src.dtype) + operator = op2nccl(op) + + assert src.size() % recvcount == 0, "Buffer size not aligned" + C.ncclReduceScatter( + sendbuff, + recvbuff, + recvcount, + datatype, + operator, + comm.ptr, + torch.cuda.current_stream().cuda_stream + ) + +def groupStart(): + """ + NCCL API: `ncclGroupStart <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/group.html#ncclgroupstart>`_ + """ + C.ncclGroupStart() + +def groupEnd(): + """ + NCCL API: `ncclGroupEnd <https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/api/group.html#ncclgroupend>`_ + """ + C.ncclGroupEnd() diff --git a/examples/BMTrain/bmtrain/nccl/enums.py b/examples/BMTrain/bmtrain/nccl/enums.py new file mode 100644 index 00000000..67411f0e --- /dev/null +++ b/examples/BMTrain/bmtrain/nccl/enums.py @@ -0,0 +1,27 @@ + +### ncclDataType_t + +ncclInt8 = 0 +ncclChar = 0 +ncclBool = 0 +ncclUint8 = 1 +ncclInt32 = 2 +ncclInt = 2 +ncclUint32 = 3 +ncclInt64 = 4 +ncclUint64 = 5 +ncclFloat16 = 6 +ncclHalf = 6 +ncclFloat32 = 7 +ncclFloat = 7 +ncclFloat64 = 8 +ncclDouble = 8 +ncclBFloat16 = 9 + +### ncclRedOp_t + +ncclSum = 0 +ncclProd = 1 +ncclMax = 2 +ncclMin = 3 +ncclAvg = 4 \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/nn/__init__.py b/examples/BMTrain/bmtrain/nn/__init__.py new file mode 100644 index 00000000..60fed663 --- /dev/null +++ b/examples/BMTrain/bmtrain/nn/__init__.py @@ -0,0 +1,5 @@ +from .linear import Linear, OpLinear +from .column_parallel_linear import ColumnParallelLinear +from .row_parallel_linear import RowParallelLinear +from .parallel_embedding import VPEmbedding +from .parallel_linear_func import OpParallelLinear diff --git a/examples/BMTrain/bmtrain/nn/column_parallel_linear.py b/examples/BMTrain/bmtrain/nn/column_parallel_linear.py new file mode 100644 index 00000000..e1ede115 --- /dev/null +++ b/examples/BMTrain/bmtrain/nn/column_parallel_linear.py @@ -0,0 +1,80 @@ +import torch +from torch.nn.parameter import Parameter + +import bmtrain as bmt +from bmtrain.global_var import config +from .parallel_linear_func import OpParallelLinear, ReduceType + + +class ColumnParallelLinear(bmt.DistributedModule): + """Tensor Parallel use cloumn partition for Linear. + + Args: + in_features (int): in_features size. + out_features (int): out_features size. + bias (bool): whether use bias. + dtype : data type. + gather_ouput (bool): whether gather output after compute. + gather_input (bool): whether gather input before compute. + async_gather_chunks (int): chunk size for async gathering data. + + """ + + def __init__( + self, + in_features: int, + out_features: int, + bias: bool = True, + dtype=None, + gather_output=False, + gather_input=True, + async_gather_chunks=2, + ) -> None: + super().__init__() + self.in_features = in_features + self.out_features = out_features + self.gather_output = gather_output + self.gather_input = gather_input + self.async_gather_chunks = async_gather_chunks + tp_size = config["tp_size"] + assert out_features % tp_size == 0 + self.out_features_per_partition = out_features // tp_size + self.weight = bmt.DistributedParameter( + torch.empty( + self.out_features_per_partition, in_features, dtype=dtype, device="cuda" + ), + init_method=torch.nn.init.xavier_normal_, + tp_split_dim=0, + tp_mode=True, + ) + if bias: + self.bias = bmt.DistributedParameter( + torch.empty( + self.out_features_per_partition, dtype=dtype, device="cuda" + ), + init_method=torch.nn.init.zeros_, + tp_split_dim=0, + tp_mode=True, + ) + else: + self.register_parameter("bias", None) + + def forward(self, input): + gather_input = self.gather_input + split_input = False + reduce_output_type = None + return OpParallelLinear.apply( + input, + self.weight, + self.bias, + gather_input, + self.gather_output, + split_input, + reduce_output_type, + self.async_gather_chunks, + ) + + def extra_repr(self) -> str: + return "in_features={}, out_features={}, bias={}".format( + self.in_features, self.out_features_per_partitions, self.bias is not None + ) diff --git a/examples/BMTrain/bmtrain/nn/linear.py b/examples/BMTrain/bmtrain/nn/linear.py new file mode 100644 index 00000000..8afb1d89 --- /dev/null +++ b/examples/BMTrain/bmtrain/nn/linear.py @@ -0,0 +1,56 @@ +import torch +import torch.nn.functional as F +import bmtrain as bmt + + +class OpLinear(torch.autograd.Function): + @staticmethod + def forward(ctx, x, weight, bias=None): + ctx.save_for_backward(x, weight, bias) + return F.linear(x, weight, bias) + + @staticmethod + def backward(ctx, grad_output): + x, weight, bias = ctx.saved_tensors + grad_x = grad_weight = grad_bias = None + if x.requires_grad: + grad_x = grad_output.matmul(weight) + if weight.requires_grad: + dim = grad_output.dim() + grad_weight = ( + grad_output.reshape(-1, grad_output.shape[-1]) + .t() + .matmul(x.reshape(-1, x.shape[-1])) + ) + if bias is not None and bias.requires_grad: + grad_bias = grad_output.reshape(-1, grad_output.shape[-1]).sum(0) + return grad_x, grad_weight, grad_bias + + +class Linear(bmt.DistributedModule): + def __init__( + self, in_features: int, out_features: int, bias: bool = True, dtype=None + ) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = bmt.DistributedParameter( + torch.empty(out_features, in_features, dtype=dtype, device="cuda"), + init_method=torch.nn.init.xavier_normal_, + ) + if bias: + self.bias = bmt.DistributedParameter( + torch.empty(out_features, dtype=dtype, device="cuda"), + init_method=torch.nn.init.zeros_, + ) + else: + self.register_parameter("bias", None) + + def forward(self, input): + return OpLinear.apply(input, self.weight, self.bias) + + def extra_repr(self) -> str: + return "in_features={}, out_features={}, bias={}".format( + self.in_features, self.out_features, self.bias is not None + ) diff --git a/examples/BMTrain/bmtrain/nn/parallel_embedding.py b/examples/BMTrain/bmtrain/nn/parallel_embedding.py new file mode 100644 index 00000000..3bdc4e56 --- /dev/null +++ b/examples/BMTrain/bmtrain/nn/parallel_embedding.py @@ -0,0 +1,59 @@ +import torch +from torch.nn.parameter import Parameter +import torch.nn.functional as F +import math + +import bmtrain as bmt +from bmtrain.global_var import config +from bmtrain.distributed import all_reduce, all_gather +from .parallel_linear_func import OpParallelLinear + + +class VPEmbedding(bmt.DistributedModule): + """Vocab Parallel Embedding. + + Args: + vocab_size (int required): vocab size. + embedding_size (int required): embedding size. + dtype (torch.dtype): data type. + init_mean (float optional): mean for weight init. + init_std (float optional): std for weight init. + + """ + + def __init__( + self, + vocab_size: int, + embedding_size: int, + dtype: torch.dtype = torch.half, + init_mean: float = 0.0, + init_std: float = 1, + ): + super().__init__() + + self.dim_model = embedding_size + assert vocab_size % bmt.config["tp_size"] == 0 + self.vocab_size_per_partition = vocab_size // bmt.config["tp_size"] + self.start_index = bmt.config["tp_rank"] * self.vocab_size_per_partition + self.end_index = (bmt.config["tp_rank"] + 1) * self.vocab_size_per_partition + self.weight = bmt.DistributedParameter( + torch.empty(self.vocab_size_per_partition, embedding_size, dtype=dtype), + init_method=bmt.ParameterInitializer( + torch.nn.init.normal_, mean=init_mean, std=init_std + ), + tp_split_dim=0, + tp_mode=True, + ) + + def forward(self, x: torch.Tensor, projection=False): + if not projection: + weight = all_gather(self.weight, comm=config["tp_comm"]).flatten(0, 1) + out = F.embedding(x, weight) + return out + else: + x = bmt.distributed.all_gather(x, comm=bmt.config["tp_comm"]).view( + x.shape[0], -1, x.shape[-1] + ) + return bmt.nn.OpParallelLinear.apply( + x, self.weight, None, False, False, False, None, 1 + ) diff --git a/examples/BMTrain/bmtrain/nn/parallel_linear_func.py b/examples/BMTrain/bmtrain/nn/parallel_linear_func.py new file mode 100644 index 00000000..e389cde6 --- /dev/null +++ b/examples/BMTrain/bmtrain/nn/parallel_linear_func.py @@ -0,0 +1,352 @@ +import torch +import torch.nn.functional as F +from bmtrain.global_var import config +from ..distributed import all_gather, all_reduce +from .. import nccl +import bmtrain as bmt +from enum import Enum + + +class ReduceType(Enum): + ALL_REDUCE = 1 + REDUCE_SCATTER = 2 + + +def preprocess_input(input, gather_input, split_input): + if gather_input: + input = all_gather(input, config["tp_comm"]) + input = input.flatten(0, 1) + + if split_input: + all_input_list = input.chunk(config["tp_size"], dim=-1) + input = all_input_list[config["topology"].tp_id] + return input + + +def async_all_gather_linear_func(input, weight, bias, async_chunks=2): + dim = input.dim() + shape = list(input.shape) + if dim > 2: + input = input.view(-1, input.shape[-1]) + tp_size = config["tp_size"] + current_stream = torch.cuda.current_stream() + comm_stream = config["tp_comm_stream"] + + rounds = async_chunks + inputs = input.chunk(rounds, dim=0) + comm_stream.wait_stream(current_stream) + outputs = [None] * tp_size * rounds + + input = all_gather(inputs[0], config["tp_comm"]) + input = input.flatten(0, 1) + out = F.linear(input, weight, bias) + outs = out.chunk(tp_size, dim=0) + for i in range(tp_size): + outputs[i * rounds] = outs[i] + + # async all_gather and overalap with linear + for i in range(rounds - 1): + with torch.cuda.stream(comm_stream): + inputs[i + 1].record_stream(comm_stream) + input = all_gather(inputs[i + 1], config["tp_comm"]) + input = input.flatten(0, 1) + + current_stream.wait_stream(comm_stream) + out = F.linear(input, weight, bias) + outs = out.chunk(tp_size, dim=0) + for j in range(tp_size): + outputs[(i + 1) + j * rounds] = outs[j] + + out = torch.cat(outputs, dim=0) + if dim > 2: + out_shape = list(out.shape) + shape[-1] = out_shape[-1] + shape[0] = shape[0] * tp_size + out = out.view(shape) + return out + + +def async_reduce_scatter_linear_func(input, weight, bias, async_chunks=2): + tp_size = config["tp_size"] + comm_stream = config["tp_comm_stream"] + rounds = async_chunks + input_shape = list(input.shape) + dim = input.dim() + if dim > 2: + input = input.view(-1, input.shape[-1]) + inputs = input.chunk(rounds * tp_size, dim=0) + current_stream = torch.cuda.current_stream() + + outputs = [None] * rounds + for i in range(rounds): + input = [None] * tp_size + for j in range(tp_size): + input[j] = inputs[j * rounds + i] + input = torch.cat(input, dim=0) + out = F.linear(input, weight, bias) + with torch.cuda.stream(comm_stream): + comm_stream.wait_stream(current_stream) + out.record_stream(comm_stream) + shape = list(out.shape) + shape[0] = shape[0] // config["tp_size"] + outputs[i] = torch.empty(shape, dtype=out.dtype, device=out.device) + nccl.reduceScatter( + out.storage(), outputs[i].storage(), "sum", config["tp_comm"] + ) + + current_stream.wait_stream(comm_stream) + out = torch.cat(outputs, dim=0) + if dim > 2: + out_shape = list(out.shape) + input_shape[-1] = out_shape[-1] + input_shape[0] = input_shape[0] // tp_size + out = out.view(input_shape) + + return out + + +def async_all_gather_linear_backward_func( + grad_out, input, weight, bias, async_chunks=2 +): + tp_size = config["tp_size"] + current_stream = torch.cuda.current_stream() + comm_stream = config["tp_comm_stream"] + input_require_grad = input.requires_grad + dim = input.dim() + input_shape = input.shape + if dim > 2: + input = input.view(-1, input_shape[-1]) + grad_out = grad_out.view(-1, grad_out.shape[-1]) + + rounds = async_chunks + grad_inputs = [None] * tp_size * rounds + grad_weights = [None] * tp_size * rounds + grad_outs = [None] * tp_size * rounds + local_grad_outs = grad_out.chunk(rounds, dim=0) + + inputs = [None] * rounds + comm_stream.wait_stream(current_stream) + if weight.requires_grad: + with torch.cuda.stream(comm_stream): + input.record_stream(comm_stream) + input_list = [None] * tp_size * rounds + tp_inputs = input.chunk(tp_size, dim=0) + for i in range(tp_size): + chunk_inputs = tp_inputs[i].chunk(rounds, dim=0) + for j in range(rounds): + input_list[j * tp_size + i] = chunk_inputs[j] + start = 0 + end = tp_size + for i in range(rounds): + inputs[i] = torch.cat(input_list[start:end], dim=0) + start = end + end += tp_size + + grad_input = grad_weight = grad_bias = None + + grad_out = all_gather(local_grad_outs[0], config["tp_comm"]) + for j in range(tp_size): + grad_outs[j * rounds] = grad_out[j] + grad_out = grad_out.flatten(0, 1) # (tp_size * (m/rounds), n) + if input_require_grad: + grad_input = grad_out.matmul( + weight + ) # (tp_size * (m/rounds), n) * (n, k/tp_size) + tmp_grad_inputs = grad_input.chunk(tp_size, dim=0) + for j in range(tp_size): + grad_inputs[j * rounds] = tmp_grad_inputs[j] + + if weight.requires_grad: + grad_weight = ( + grad_out.reshape(-1, grad_out.shape[-1]) + .t() + .matmul(inputs[0].reshape(-1, inputs[0].shape[-1])) + ) + + # async all_gather and overalap with matmul + for i in range(rounds - 1): + with torch.cuda.stream(comm_stream): + local_grad_outs[i + 1].record_stream(comm_stream) + grad_out = all_gather(local_grad_outs[i + 1], config["tp_comm"]) + for j in range(tp_size): + grad_outs[j * rounds + i + 1] = grad_out[j] + grad_out = grad_out.flatten(0, 1) # (tp_size * (m/rounds), n) + + current_stream.wait_stream(comm_stream) + if input_require_grad: + grad_input = grad_out.matmul( + weight + ) # (tp_size * (m/rounds), n) * (n, k/tp_size) + tmp_grad_inputs = grad_input.chunk(tp_size, dim=0) + for j in range(tp_size): + grad_inputs[j * rounds + i + 1] = tmp_grad_inputs[j] + + if weight.requires_grad: + dim = grad_out.dim() + grad_weight += ( + grad_out.reshape(-1, grad_out.shape[-1]) + .t() + .matmul(inputs[i + 1].reshape(-1, inputs[i + 1].shape[-1])) + ) + + if input_require_grad: + grad_input = torch.cat(grad_inputs, dim=0) + grad_input = grad_input.view(input_shape) + + if bias is not None and bias.requires_grad: + grad_out = torch.cat(grad_outs, dim=0) + grad_bias = grad_out.reshape(-1, grad_out.shape[-1]).sum(0) + + return grad_input, grad_weight, grad_bias + + +class OpParallelLinear(torch.autograd.Function): + """OpParallelLinear is a subclass of torch.autograd.Function. + It gathers the input tensor when needed, and all reduce or reduece scatter the output when needed. + + """ + + @staticmethod + def forward( + ctx, + input, + weight, + bias=None, + gather_input=False, + gather_output=False, + split_input=False, + reduce_output_type=None, + async_gather_chunks=2, + ): + if reduce_output_type is not None: + reduce_output_type = ReduceType(reduce_output_type) + + ctx.save_for_backward(input, weight, bias) + ctx.gather_output = gather_output + ctx.split_input = split_input + ctx.gather_input = gather_input + ctx.reduce_output_type = reduce_output_type + ctx.async_gather_chunks = async_gather_chunks + + if ( + gather_input + and config["tp_size"] > 1 + and async_gather_chunks > 1 + and split_input == False + ): + out = async_all_gather_linear_func(input, weight, bias, async_gather_chunks) + elif reduce_output_type == ReduceType.REDUCE_SCATTER: + return async_reduce_scatter_linear_func( + input, weight, bias, async_gather_chunks + ) + else: + all_input = preprocess_input(input, ctx.gather_input, ctx.split_input) + out = F.linear(all_input, weight, bias) + + if gather_output: + all_output_list = all_gather(out, config["tp_comm"]) + all_output_list = all_output_list.chunk(config["tp_size"], dim=0) + out = torch.cat(all_output_list, dim=all_output_list[0].dim() - 1).flatten( + 0, 1 + ) + + if reduce_output_type is None: + return out + + if reduce_output_type == ReduceType.ALL_REDUCE: + nccl.allReduce(out.storage(), out.storage(), "sum", config["tp_comm"]) + return out + else: + assert False, "no support reduce type{}".format(reduce_output_type) + + @staticmethod + def backward(ctx, grad_output): + input, weight, bias = ctx.saved_tensors + gather_output = ctx.gather_output + + if ctx.reduce_output_type == ReduceType.REDUCE_SCATTER: + if input.requires_grad or weight.requires_grad: + grad_input, grad_weight, grad_bias = ( + async_all_gather_linear_backward_func( + grad_output, input, weight, bias, ctx.async_gather_chunks + ) + ) + return grad_input, grad_weight, grad_bias, None, None, None, None, None + else: + grad_output = all_gather(grad_output, config["tp_comm"]) + grad_output = grad_output.flatten(0, 1) + + if gather_output: + tp_size = config["tp_size"] + tp_id = config["topology"].tp_id + grad_output_list = grad_output.chunk(tp_size, dim=-1) + grad_output = grad_output_list[tp_id] + + grad_input = grad_weight = grad_bias = None + + current_stream = torch.cuda.current_stream() + if input.requires_grad or weight.requires_grad: + if ctx.gather_input: + # async the all_gather + with torch.cuda.stream(config["tp_comm_stream"]): + input.record_stream(config["tp_comm_stream"]) + config["tp_comm_stream"].wait_stream(current_stream) + all_input = preprocess_input( + input, ctx.gather_input, ctx.split_input + ) + # use event to solve two streams waiting for each other + gather_event = config["tp_comm_stream"].record_event() + else: + all_input = preprocess_input(input, ctx.gather_input, ctx.split_input) + + if input.requires_grad: + grad_all_input = grad_output.matmul(weight) + grad_input = torch.zeros_like(input) + if ctx.gather_input: + # async the reduce_scatter + with torch.cuda.stream(config["tp_comm_stream"]): + config["tp_comm_stream"].wait_stream(current_stream) + grad_input.record_stream(config["tp_comm_stream"]) + grad_all_input.record_stream(config["tp_comm_stream"]) + nccl.reduceScatter( + grad_all_input.storage(), + grad_input.storage(), + "sum", + config["tp_comm"], + ) + elif ctx.reduce_output_type is None: + with torch.cuda.stream(config["tp_comm_stream"]): + config["tp_comm_stream"].wait_stream(current_stream) + grad_input.record_stream(config["tp_comm_stream"]) + nccl.allReduce( + grad_all_input.storage(), + grad_all_input.storage(), + "sum", + config["tp_comm"], + ) + grad_input = grad_all_input + else: + grad_input = grad_all_input + + if ctx.split_input: + with torch.cuda.stream(config["tp_comm_stream"]): + config["tp_comm_stream"].wait_stream(current_stream) + grad_input.record_stream(config["tp_comm_stream"]) + grad_input = all_gather(grad_input, config["tp_comm"]) + + # wait all_gather + if ctx.gather_input: + current_stream.wait_event(gather_event) + if weight.requires_grad: + grad_weight = ( + grad_output.reshape(-1, grad_output.shape[-1]) + .t() + .matmul(all_input.reshape(-1, all_input.shape[-1])) + ) + + if bias is not None and bias.requires_grad: + grad_bias = grad_output.reshape(-1, grad_output.shape[-1]).sum(0) + + current_stream = torch.cuda.current_stream() + current_stream.wait_stream(config["tp_comm_stream"]) + return grad_input, grad_weight, grad_bias, None, None, None, None, None diff --git a/examples/BMTrain/bmtrain/nn/row_parallel_linear.py b/examples/BMTrain/bmtrain/nn/row_parallel_linear.py new file mode 100644 index 00000000..ee4610cc --- /dev/null +++ b/examples/BMTrain/bmtrain/nn/row_parallel_linear.py @@ -0,0 +1,88 @@ +import torch +from torch.nn.parameter import Parameter + +import bmtrain as bmt +from bmtrain.global_var import config +from .parallel_linear_func import OpParallelLinear, ReduceType + + +class RowParallelLinear(bmt.DistributedModule): + """Tensor Parallel use row partition for Linear. + + Args: + in_features (int): in_features size. + out_features (int): out_features size. + bias (bool): whether use bias. + dtype : data type. + split_input (bool): whether split input before compute. + all_reduce_output (bool): if true use all_reduce data after compute, or use reduce_scatter. + async_chunks (int): chunk size for async. + + """ + + def __init__( + self, + in_features: int, + out_features: int, + bias: bool = True, + dtype=None, + split_input=False, + all_reduce_output=False, + async_chunks=2, + ) -> None: + super().__init__() + self.in_features = in_features + self.out_features = out_features + self.split_input = split_input + self.all_reduce_output = all_reduce_output + self.async_chunks = async_chunks + tp_size = config["tp_size"] + assert in_features % tp_size == 0 + self.in_features_per_partition = in_features // tp_size + self.weight = bmt.DistributedParameter( + torch.empty( + self.out_features, + self.in_features_per_partition, + dtype=dtype, + device="cuda", + ), + init_method=torch.nn.init.xavier_normal_, + tp_split_dim=1, + tp_mode=True, + ) + if bias: + self.bias = bmt.DistributedParameter( + torch.empty(self.out_features, dtype=dtype, device="cuda"), + init_method=torch.nn.init.zeros_, + tp_split_dim=-1, + tp_mode=True, + ) + else: + self.register_parameter("bias", None) + + def forward(self, input): + gather_input = self.split_input + gather_output = False + reduce_output_type = ( + ReduceType.ALL_REDUCE + if self.all_reduce_output + else ReduceType.REDUCE_SCATTER + ) + out = OpParallelLinear.apply( + input, + self.weight, + None, + gather_input, + gather_output, + self.split_input, + reduce_output_type, + self.async_chunks, + ) + if self.bias is not None: + out = out + self.bias + return out + + def extra_repr(self) -> str: + return "in_features={}, out_features={}, bias={}".format( + self.in_features_per_partition, self.out_features, self.bias is not None + ) diff --git a/examples/BMTrain/bmtrain/optim/__init__.py b/examples/BMTrain/bmtrain/optim/__init__.py new file mode 100644 index 00000000..15206328 --- /dev/null +++ b/examples/BMTrain/bmtrain/optim/__init__.py @@ -0,0 +1,3 @@ +from .adam import AdamOptimizer +from .adam_offload import AdamOffloadOptimizer +from .optim_manager import OptimManager \ No newline at end of file diff --git a/examples/BMTrain/bmtrain/optim/_distributed.py b/examples/BMTrain/bmtrain/optim/_distributed.py new file mode 100644 index 00000000..df8f2f3e --- /dev/null +++ b/examples/BMTrain/bmtrain/optim/_distributed.py @@ -0,0 +1,40 @@ +import torch +from ..distributed import all_reduce, all_gather + + +def state_dict_gather(state_dict): + param_key = [ + p for param_group in state_dict["param_groups"] for p in param_group["params"] + ] + for k, v in state_dict["state"].items(): + if "step" in v: + step = v["step"] + + for k in param_key: + if k not in state_dict["state"]: + state_dict["state"][k] = { + "exp_avg": torch.tensor([], device="cuda", dtype=torch.float32), + "exp_avg_sq": torch.tensor([], device="cuda", dtype=torch.float32), + "_param_fp32": torch.tensor([], device="cuda", dtype=torch.float32), + "step": step, + } + v = state_dict["state"][k] + for name, dtype in [ + ("exp_avg", torch.float32), + ("exp_avg_sq", torch.float32), + ("_param_fp32", torch.float32), + ]: + if name in v: + with torch.no_grad(): + numel = torch.tensor( + v[name].numel(), device="cuda", dtype=torch.long + ) + max_numel = all_reduce(numel, op="max") + v_p = torch.nn.functional.pad( + v[name], (0, max_numel - numel), value=-1e15 + ) + if max_numel > 0: + whole_state = all_gather(v_p.cuda()).flatten() + whole_state = whole_state[whole_state != -1e15] + v[name] = whole_state.contiguous().cpu() + return state_dict diff --git a/examples/BMTrain/bmtrain/optim/_function.py b/examples/BMTrain/bmtrain/optim/_function.py new file mode 100644 index 00000000..f9e0ce9d --- /dev/null +++ b/examples/BMTrain/bmtrain/optim/_function.py @@ -0,0 +1,218 @@ +from .. import C +import torch + +CHECK_INPUT = lambda x: x.is_contiguous() and x.is_cuda + + +def bf16_from_fp32(param_fp32): + param_bf16 = torch.empty_like(param_fp32, dtype=torch.bfloat16) + C.to_bf16_from_fp32( + param_fp32.numel(), param_fp32.data_ptr(), param_bf16.data_ptr() + ) + return param_bf16 + + +def fp16_from_fp32(param_fp32): + param_fp16 = torch.empty_like(param_fp32, dtype=torch.float16) + C.to_fp16_from_fp32( + param_fp32.numel(), param_fp32.data_ptr(), param_fp16.data_ptr() + ) + return param_fp16 + + +def adam_cpu( + param_fp32: torch.Tensor, + param_fp16: torch.Tensor, + delta_info: torch.Tensor, + g_fp16: torch.Tensor, + m_fp32: torch.Tensor, + v_fp32: torch.Tensor, + beta1: float, + beta2: float, + eps: float, + lr: float, + scale: float, + weight_decay: float, + step: int, +) -> None: + assert param_fp32.is_contiguous(), "param_fp32 must be contiguous" + assert param_fp16.is_contiguous(), "param_fp16 must be contiguous" + assert g_fp16.is_contiguous(), "g_fp16 must be contiguous" + assert m_fp32.is_contiguous(), "m_fp32 must be contiguous" + assert v_fp32.is_contiguous(), "v_fp32 must be contiguous" + assert param_fp32.dtype == torch.float32, "param_fp32 must be float32 tensor" + assert ( + param_fp16.dtype == torch.float16 or param_fp16.dtype == torch.bfloat16 + ), "param_fp16 must be float16/bfloat16 tensor" + assert ( + g_fp16.dtype == torch.float16 or g_fp16.dtype == torch.bfloat16 + ), "g_fp16 must be float16/bfloat16 tensor" + assert m_fp32.dtype == torch.float32, "m_fp32 must be float32 tensor" + assert v_fp32.dtype == torch.float32, "v_fp32 must be float32 tensor" + assert param_fp32.device == torch.device("cpu"), "param_fp32 must be a cpu tensor" + assert param_fp16.device == torch.device("cpu"), "param_fp16 must be a cpu tensor" + assert g_fp16.device == torch.device("cpu"), "g_fp16 must be a cpu tensor" + assert m_fp32.device == torch.device("cpu"), "m_fp32 must be a cpu tensor" + assert v_fp32.device == torch.device("cpu"), "v_fp32 must be a cpu tensor" + assert ( + param_fp32.numel() == param_fp16.numel() + ), "param_fp32 and param_fp16 must have the same number of elements" + assert ( + param_fp32.numel() == g_fp16.numel() + ), "param_fp32 and g_fp16 must have the same number of elements" + assert ( + param_fp32.numel() == m_fp32.numel() + ), "param_fp32 and m_fp32 must have the same number of elements" + assert ( + param_fp32.numel() == v_fp32.numel() + ), "param_fp32 and v_fp32 must have the same number of elements" + if delta_info is not None: + assert delta_info.is_contiguous(), "delta_info must be contiguous" + assert delta_info.dtype == torch.float32, "delta_info must be float32 tensor" + assert delta_info.device == torch.device( + "cpu" + ), "delta_info must be a cpu tensor" + assert delta_info.numel() == 4, "delta_info have a length of 4" + bias_correction1 = 1 - beta1**step + bias_correction2 = 1 - beta2**step + if g_fp16.dtype == torch.float16: + launcher = C.adam_cpu_fp16_launcher + elif g_fp16.dtype == torch.bfloat16: + if not C.is_bf16_supported(): + raise NotImplementedError(f"bfloat16 is not supported on current GPU") + launcher = C.adam_cpu_bf16_launcher + launcher( + param_fp32.numel(), + param_fp32.data_ptr(), + param_fp16.data_ptr(), + delta_info.data_ptr() if delta_info is not None else 0, + g_fp16.data_ptr(), + m_fp32.data_ptr(), + v_fp32.data_ptr(), + beta1, + beta2, + eps, + lr, + scale, + weight_decay, + bias_correction1, + bias_correction2, + ) + + +def adam_fp16( + param_fp32: torch.Tensor, + param_fp16: torch.Tensor, + g_fp16: torch.Tensor, + m_fp16: torch.Tensor, + v_fp32: torch.Tensor, + beta1: float, + beta2: float, + eps: float, + lr: float, + scale: float, + weight_decay: float, + step: int, +) -> None: + assert CHECK_INPUT(param_fp32), "param_fp32 must be contiguous and on cuda" + assert CHECK_INPUT(param_fp16), "param_fp16 must be contiguous and on cuda" + assert CHECK_INPUT(g_fp16), "g_fp16 must be contiguous and on cuda" + assert CHECK_INPUT(m_fp16), "m_fp32 must be contiguous and on cuda" + assert CHECK_INPUT(v_fp32), "v_fp32 must be contiguous and on cuda" + assert param_fp32.dtype == torch.float32, "param_fp32 must be float32 tensor" + assert param_fp16.dtype == torch.float16, "param_fp16 must be float16 tensor" + assert g_fp16.dtype == torch.float16, "g_fp16 must be float16 tensor" + assert m_fp16.dtype == torch.float16, "m_fp16 must be float16 tensor" + assert v_fp32.dtype == torch.float32, "v_fp32 must be float32 tensor" + assert ( + param_fp32.numel() == param_fp16.numel() + ), "param_fp32 and param_fp16 must have the same number of elements" + assert ( + param_fp32.numel() == g_fp16.numel() + ), "param_fp32 and g_fp16 must have the same number of elements" + assert ( + param_fp32.numel() == m_fp16.numel() + ), "param_fp32 and m_fp32 must have the same number of elements" + assert ( + param_fp32.numel() == v_fp32.numel() + ), "param_fp32 and v_fp32 must have the same number of elements" + bias_correction1 = 1 - beta1**step + bias_correction2 = 1 - beta2**step + stream = torch.cuda.current_stream().cuda_stream + C.adam_fp16_launcher( + param_fp32.numel(), + param_fp32.data_ptr(), + param_fp16.data_ptr(), + g_fp16.data_ptr(), + m_fp16.data_ptr(), + v_fp32.data_ptr(), + beta1, + beta2, + eps, + lr, + scale, + weight_decay, + bias_correction1, + bias_correction2, + stream, + ) + + +def adam_bf16( + param_fp32: torch.Tensor, + param_bf16: torch.Tensor, + g_bf16: torch.Tensor, + m_fp32: torch.Tensor, + v_fp32: torch.Tensor, + beta1: float, + beta2: float, + eps: float, + lr: float, + scale: float, + weight_decay: float, + step: int, +) -> None: + assert CHECK_INPUT(param_fp32), "param_fp32 must be contiguous and on cuda" + assert CHECK_INPUT(param_bf16), "param_bf16 must be contiguous and on cuda" + assert CHECK_INPUT(g_bf16), "g_bf16 must be contiguous and on cuda" + assert CHECK_INPUT(m_fp32), "m_fp32 must be contiguous and on cuda" + assert CHECK_INPUT(v_fp32), "v_fp32 must be contiguous and on cuda" + assert param_fp32.dtype == torch.float32, "param_fp32 must be float32 tensor" + assert param_bf16.dtype == torch.bfloat16, "param_fp16 must be float16 tensor" + assert g_bf16.dtype == torch.bfloat16, "g_bf16 must be bfloat16 tensor" + assert m_fp32.dtype == torch.float32, "m_fp32 must be bfloat16 tensor" + assert v_fp32.dtype == torch.float32, "v_fp32 must be float32 tensor" + assert ( + param_fp32.numel() == param_bf16.numel() + ), "param_fp32 and param_bf16 must have the same number of elements" + assert ( + param_fp32.numel() == g_bf16.numel() + ), "param_fp32 and g_fp16 must have the same number of elements" + assert ( + param_fp32.numel() == m_fp32.numel() + ), "param_fp32 and m_m_fp32 must have the same number of elements" + assert ( + param_fp32.numel() == v_fp32.numel() + ), "param_fp32 and v_fp32 must have the same number of elements" + bias_correction1 = 1 - beta1**step + bias_correction2 = 1 - beta2**step + stream = torch.cuda.current_stream().cuda_stream + if not C.is_bf16_supported(): + raise NotImplementedError(f"bfloat16 is not supported on current GPU") + C.adam_bf16_launcher( + param_fp32.numel(), + param_fp32.data_ptr(), + param_bf16.data_ptr(), + g_bf16.data_ptr(), + m_fp32.data_ptr(), + v_fp32.data_ptr(), + beta1, + beta2, + eps, + lr, + scale, + weight_decay, + bias_correction1, + bias_correction2, + stream, + ) diff --git a/examples/BMTrain/bmtrain/optim/adam.py b/examples/BMTrain/bmtrain/optim/adam.py new file mode 100644 index 00000000..f99c483c --- /dev/null +++ b/examples/BMTrain/bmtrain/optim/adam.py @@ -0,0 +1,252 @@ +import torch +from ..global_var import config +from . import _function as F +import torch.optim._functional +from .. import C +from .. import nccl +import inspect +from ..utils import check_torch_version +from copy import deepcopy +from itertools import chain +from collections import defaultdict + + +class AdamOptimizer(torch.optim.Optimizer): + """ + Adam optimizer support fp16 and bf16. + """ + + _bmtrain_optimizer = True + + def __init__( + self, + params, + lr=1e-3, + betas=(0.9, 0.999), + eps=1e-8, + weight_decay=0, + hold_steps=0, + ): + if not 0.0 <= lr: + raise ValueError("Invalid learning rate: {}".format(lr)) + if not 0.0 <= eps: + raise ValueError("Invalid epsilon value: {}".format(eps)) + if not 0.0 <= betas[0] < 1.0: + raise ValueError("Invalid beta parameter at index 0: {}".format(betas[0])) + if not 0.0 <= betas[1] < 1.0: + raise ValueError("Invalid beta parameter at index 1: {}".format(betas[1])) + if not 0.0 <= weight_decay: + raise ValueError("Invalid weight_decay value: {}".format(weight_decay)) + + defaults = dict(lr=lr, betas=betas, eps=eps, weight_decay=weight_decay) + super().__init__(params, defaults) + + self._hold_steps = hold_steps + + def _on_justify_scale(self, old_scale, new_scale): + delta = new_scale / old_scale + for group in self.param_groups: + for p in group["params"]: + if p in self.state: + state = self.state[p] + if len(state) > 0: + if p.dtype == torch.float16: + state["exp_avg"] *= delta + state["exp_avg_sq"] *= delta + + @torch.no_grad() + def step(self, closure=None, scale=1): + """Performs a single optimization step. + Arguments: + closure (callable, optional): A closure that reevaluates the model + and returns the loss. + The remaining arguments are deprecated, and are only retained (for the moment) for error-checking purposes. + """ + + loss = None + if closure is not None: + with torch.enable_grad(): + loss = closure() + + # update parameters + for group in self.param_groups: + for p in group["params"]: + if p.grad is not None and p.requires_grad: + if p.grad.is_sparse: + raise RuntimeError( + "Adam does not support sparse gradients, please consider SparseAdam instead" + ) + if p.dtype not in [torch.float32, torch.half, torch.bfloat16]: + raise RuntimeError( + "Adam only supports fp32, fp16 and bf16 gradients" + ) + + state = self.state[p] + # Lazy state initialization + if len(state) == 0: + state["step"] = 0 + # Exponential moving average of gradient values + if p.dtype == torch.float16: + state["exp_avg"] = torch.zeros( + p.size(), dtype=torch.float16, device=p.device + ) # on device + else: + state["exp_avg"] = torch.zeros( + p.size(), dtype=torch.float32, device=p.device + ) # on device + # Exponential moving average of squared gradient values + state["exp_avg_sq"] = torch.zeros( + p.size(), dtype=torch.float32, device=p.device + ) # on device + + if p.dtype != torch.float32: + state["_param_fp32"] = torch.empty( + p.size(), dtype=torch.float32, device=p.device + ) # on device + state["_param_fp32"].copy_(p) + + # update the steps for each param group update + if ("maximize" in group) and (group["maximize"] is True): + grad = -p.grad + else: + grad = p.grad + + if p.dtype == torch.float32: + other_kwargs = {} + if ( + "maximize" + in inspect.signature( + torch.optim._functional.adam + ).parameters + ): + other_kwargs["maximize"] = False + torch.optim._functional.adam( + [p], + [grad / scale], + [state["exp_avg"]], + [state["exp_avg_sq"]], + [], + ( + [state["step"]] + if check_torch_version("1.12.0") < 0 + else [torch.tensor(state["step"])] + ), + amsgrad=False, + beta1=group["betas"][0], + beta2=group["betas"][1], + lr=0.0 if state["step"] < self._hold_steps else group["lr"], + weight_decay=group["weight_decay"], + eps=group["eps"], + **other_kwargs + ) + state["step"] += 1 + else: + f = F.adam_fp16 if p.dtype == torch.float16 else F.adam_bf16 + state["step"] += 1 + f( + state["_param_fp32"], # fp32 + p, # fp16 + grad, # fp16 + state["exp_avg"], # fp16: m + state["exp_avg_sq"], # fp32: v + group["betas"][0], + group["betas"][1], + group["eps"], + 0.0 if state["step"] < self._hold_steps else group["lr"], + scale, + group["weight_decay"], + state["step"], + ) + + return loss + + def get_avg_delta(): + + raise NotImplementedError( + "get delta info is not supported in Adam optimizer , try bmt.optim.AdamOffloadOptimizer" + ) + + def get_var_delta(): + + raise NotImplementedError( + "get delta info is not supported in Adam optimizer , try bmt.optim.AdamOffloadOptimizer" + ) + + def load_state_dict(self, state_dict: dict) -> None: + r"""Loads the optimizer state. + + Args: + state_dict (dict): optimizer state. Should be an object returned + from a call to :meth:`state_dict`. + """ + # deepcopy, to be consistent with module API + state_dict = deepcopy(state_dict) + # Validate the state_dict + groups = self.param_groups + saved_groups = state_dict["param_groups"] + + if len(groups) != len(saved_groups): + raise ValueError( + "loaded state dict has a different number of " "parameter groups" + ) + param_lens = (len(g["params"]) for g in groups) + saved_lens = (len(g["params"]) for g in saved_groups) + if any(p_len != s_len for p_len, s_len in zip(param_lens, saved_lens)): + raise ValueError( + "loaded state dict contains a parameter group " + "that doesn't match the size of optimizer's group" + ) + + # Update the state + id_map = { + old_id: p + for old_id, p in zip( + chain.from_iterable((g["params"] for g in saved_groups)), + chain.from_iterable((g["params"] for g in groups)), + ) + } + + # Copy state assigned to params (and cast tensors to appropriate types). + # State that is not assigned to params is copied as is (needed for + # backward compatibility). + state = defaultdict(dict) + for k, v in state_dict["state"].items(): + if k in id_map: + param = id_map[k] + + if param.dtype != torch.float32 and "_param_fp32" not in v: + v["_param_fp32"] = torch.empty( + param.size(), dtype=torch.float32, device=param.device + ) + v["_param_fp32"].copy_(param) + + for name, dtype in [ + ( + "exp_avg", + ( + torch.float16 + if param.dtype == torch.float16 + else torch.float32 + ), + ), + ("exp_avg_sq", torch.float32), + ("_param_fp32", torch.float32), + ]: + if name in v: + v[name] = v[name].to(param.device).to(dtype) + + state[param] = v + else: + state[k] = v + + # Update parameter groups, setting their 'params' value + def update_group(group, new_group): + new_group["params"] = group["params"] + return new_group + + param_groups = [update_group(g, ng) for g, ng in zip(groups, saved_groups)] + self.__setstate__({"state": state, "param_groups": param_groups}) + + # TODO zero_grad(set_to_none=True) makes optimizer crashed, maybe the reason of grad accu + def zero_grad(self, set_to_none: bool = False): + super().zero_grad(set_to_none=set_to_none) diff --git a/examples/BMTrain/bmtrain/optim/adam_offload.py b/examples/BMTrain/bmtrain/optim/adam_offload.py new file mode 100644 index 00000000..f6ea97ba --- /dev/null +++ b/examples/BMTrain/bmtrain/optim/adam_offload.py @@ -0,0 +1,386 @@ +import torch +from ..global_var import config +from . import _function as F +from .. import nccl +import inspect +from ..utils import check_torch_version +from copy import deepcopy +from itertools import chain +from collections import defaultdict +from ._distributed import state_dict_gather + + +class AdamOffloadOptimizer(torch.optim.Optimizer): + """ + Adam optimizer using optimizer offload. + """ + + _bmtrain_optimizer = True + + def __init__( + self, + params, + lr=1e-3, + betas=(0.9, 0.999), + eps=1e-8, + weight_decay=0, + hold_steps=0, + record_delta=False, + ): + if not 0.0 <= lr: + raise ValueError("Invalid learning rate: {}".format(lr)) + if not 0.0 <= eps: + raise ValueError("Invalid epsilon value: {}".format(eps)) + if not 0.0 <= betas[0] < 1.0: + raise ValueError("Invalid beta parameter at index 0: {}".format(betas[0])) + if not 0.0 <= betas[1] < 1.0: + raise ValueError("Invalid beta parameter at index 1: {}".format(betas[1])) + if not 0.0 <= weight_decay: + raise ValueError("Invalid weight_decay value: {}".format(weight_decay)) + self.avg_delta = 0 + self.var_delta = 0 + defaults = dict(lr=lr, betas=betas, eps=eps, weight_decay=weight_decay) + super().__init__(params, defaults) + self._hold_steps = hold_steps + self._events = {} + self.record_delta = record_delta + if self.record_delta: + for group in self.param_groups: + for p in group["params"]: + setattr( + p, + "_delta_info", + ( + torch.tensor( + [0 for i in range(4)], dtype=torch.float32, device="cpu" + ) + ), + ) + + @torch.no_grad() + def step(self, closure=None, scale=1): + """Performs a single optimization step. + Arguments: + closure (callable, optional): A closure that reevaluates the model + and returns the loss. + The remaining arguments are deprecated, and are only retained (for the moment) for error-checking purposes. + """ + + loss = None + if closure is not None: + with torch.enable_grad(): + loss = closure() + + # parameters to be updated + update_params = [] + + for group in self.param_groups: + for p in group["params"]: + if p.grad is not None and p.requires_grad: + if p.grad.is_sparse: + raise RuntimeError( + "Adam does not support sparse gradients, please consider SparseAdam instead" + ) + if p.dtype not in [torch.float32, torch.float16, torch.bfloat16]: + raise RuntimeError( + "Adam only supports fp32, fp16 and bf16 gradients" + ) + + state = self.state[p] + # Lazy state initialization + if len(state) == 0: + state["step"] = 0 + # Exponential moving average of gradient values + state["exp_avg"] = torch.zeros( + p.size(), dtype=torch.float32, device="cpu" + ) # on host + # Exponential moving average of squared gradient values + state["exp_avg_sq"] = torch.zeros( + p.size(), dtype=torch.float32, device="cpu" + ) # on host + + if p.dtype == torch.float32: + state["_param_fp32"] = torch.empty( + p.size(), dtype=torch.float32, pin_memory=True + ) # on host + state["_param_fp32"].copy_(p) + + # placeholder + state["_grad_fp32"] = torch.empty( + p.size(), dtype=torch.float32, pin_memory=True + ) # on host + else: + state["_param_fp32"] = torch.empty( + p.size(), dtype=torch.float32, device="cpu" + ) # on host + state["_param_fp32"].copy_(p) + + # placeholder + state["_param_fp16"] = torch.empty( + p.size(), dtype=p.dtype, pin_memory=True + ) # on host + state["_grad_fp16"] = torch.empty( + p.size(), dtype=p.dtype, pin_memory=True + ) # on host + + if p not in self._events: + self._events[p] = torch.cuda.Event() + + update_params.append( + ( + p, + state, + self._events[p], + group["betas"][0], + group["betas"][1], + group["eps"], + group["lr"], + group["weight_decay"], + ) + ) + + # transfer parameters to host asynchronously + for param, state, event, _, _, _, _, _ in update_params: + if param.dtype == torch.float32: + state["_grad_fp32"].copy_(param.grad, non_blocking=True) + else: + state["_grad_fp16"].copy_(param.grad, non_blocking=True) + torch.cuda.current_stream().record_event(event) + sum_delta = 0 + sum_sq_delta = 0 + total_numel = 0 + for param, state, event, beta1, beta2, eps, lr, weight_decay in update_params: + # wait for transfer to host + event.synchronize() + + # update parameters + if param.dtype == torch.float32: + state["_grad_fp32"].mul_(1.0 / scale) + if ("maximize" in group) and (group["maximize"] is True): + grad = -state["_grad_fp32"] + else: + grad = state["_grad_fp32"] + other_kwargs = {} + if ( + "maximize" + in inspect.signature(torch.optim._functional.adam).parameters + ): + other_kwargs["maximize"] = False + torch.optim._functional.adam( + [state["_param_fp32"]], + [grad], + [state["exp_avg"]], + [state["exp_avg_sq"]], + [], + ( + [state["step"]] + if check_torch_version("1.12.0") < 0 + else [torch.tensor(state["step"])] + ), + amsgrad=False, + beta1=beta1, + beta2=beta2, + lr=0.0 if state["step"] < self._hold_steps else lr, + weight_decay=weight_decay, + eps=eps, + **other_kwargs + ) + # transfer parameters back to device asynchronously + param.copy_(state["_param_fp32"], non_blocking=True) + state["step"] += 1 + else: + state["step"] += 1 + if ("maximize" in group) and (group["maximize"] is True): + grad = -state["_grad_fp16"] + else: + grad = state["_grad_fp16"] + F.adam_cpu( + state["_param_fp32"].view(-1), + state["_param_fp16"].view(-1), + param._delta_info if self.record_delta else None, + grad.view(-1), + state["exp_avg"].view(-1), + state["exp_avg_sq"].view(-1), + beta1, + beta2, + eps, + 0.0 if state["step"] < self._hold_steps else lr, + scale, + weight_decay, + state["step"], + ) + total_numel += state["_param_fp16"].numel() + if self.record_delta: + sum_delta += param._delta_info[2].item() + sum_sq_delta += param._delta_info[3].item() + # transfer parameters back to device asynchronously + param.copy_(state["_param_fp16"], non_blocking=True) + if self.record_delta: + self.avg_delta = sum_delta / total_numel + self.var_delta = sum_sq_delta / total_numel - self.avg_delta**2 + + return loss + + def get_avg_delta(self) -> None: + return self.avg_delta if self.record_delta else 0 + + def get_var_delta(self) -> None: + return self.var_delta if self.record_delta else 0 + + def load_state_dict(self, state_dict: dict) -> None: + r"""Loads the optimizer state. + + Args: + state_dict (dict): optimizer state. Should be an object returned + from a call to :meth:`state_dict`. + """ + # deepcopy, to be consistent with module API + + state_dict = deepcopy(state_dict) + # Validate the state_dict + groups = self.param_groups + saved_groups = state_dict["param_groups"] + + if len(groups) != len(saved_groups): + raise ValueError( + "loaded state dict has a different number of " "parameter groups" + ) + param_lens = (len(g["params"]) for g in groups) + saved_lens = (len(g["params"]) for g in saved_groups) + if any(p_len != s_len for p_len, s_len in zip(param_lens, saved_lens)): + raise ValueError( + "loaded state dict contains a parameter group " + "that doesn't match the size of optimizer's group" + ) + + # Update the state + id_map = { + old_id: p + for old_id, p in zip( + chain.from_iterable((g["params"] for g in saved_groups)), + chain.from_iterable((g["params"] for g in groups)), + ) + } + + # _param_start_end = chain.from_iterable((g["params_start_end"] for g in saved_groups)) + # Copy state assigned to params (and cast tensors to appropriate types). + # State that is not assigned to params is copied as is (needed for + # backward compatibility). + state = defaultdict(dict) + is_whole = False if "is_whole" not in state_dict else state_dict["is_whole"] + pop_key = [] + for k, v in state_dict["state"].items(): + if k in id_map: + param = id_map[k] + if is_whole and param._start_partition is not None: + for key in ["_param_fp32", "exp_avg_sq", "exp_avg"]: + if key in v: + v[key] = v[key][ + param._start_partition : param._end_partition + ] + elif is_whole and param._start_partition is None: + pop_key.append(param) + + if "_param_fp32" not in v: + with torch.no_grad(): + v["_param_fp32"] = torch.empty( + param.size(), dtype=torch.float32, device="cpu" + ) + v["_param_fp32"].copy_(param) + + for name, dtype in [ + ("exp_avg", torch.float32), + ("exp_avg_sq", torch.float32), + ("_param_fp32", torch.float32), + ]: + if name in v: + v[name] = v[name].to("cpu").to(dtype) + + state[param] = v + if param.dtype == torch.float32: + state[param]["_param_fp32"] = state[param][ + "_param_fp32" + ].pin_memory() # on host + # initialize placeholders + state[param]["_grad_fp32"] = torch.empty( + param.size(), dtype=torch.float32, pin_memory=True + ) # on host + else: + # initialize placeholders + state[param]["_param_fp16"] = torch.empty( + param.size(), dtype=param.dtype, pin_memory=True + ) # on host + state[param]["_grad_fp16"] = torch.empty( + param.size(), dtype=param.dtype, pin_memory=True + ) # on host + else: + state[k] = v + for k in pop_key: + state.pop(k) + + # Update parameter groups, setting their 'params' value + def update_group(group, new_group): + new_group["params"] = group["params"] + return new_group + + param_groups = [update_group(g, ng) for g, ng in zip(groups, saved_groups)] + self.__setstate__({"state": state, "param_groups": param_groups}) + + def state_dict(self, gather=False) -> dict: + r"""Returns the state of the optimizer as a :class:`dict`. + + It contains two entries: + + * state - a dict holding current optimization state. Its content + differs between optimizer classes. + * param_groups - a list containing all parameter groups where each + parameter group is a dict + """ + + # Save order indices instead of Tensors + param_mappings = {} + start_index = 0 + + def pack_group(group): + nonlocal start_index + packed = {k: v for k, v in group.items() if k != "params"} + param_mappings.update( + { + id(p): i + for i, p in enumerate(group["params"], start_index) + if id(p) not in param_mappings + } + ) + packed["params"] = [param_mappings[id(p)] for p in group["params"]] + start_index += len(packed["params"]) + return packed + + def cut_states(state): + return { + "step": state["step"], + "exp_avg": state["exp_avg"], + "exp_avg_sq": state["exp_avg_sq"], + "_param_fp32": state["_param_fp32"], + } + + param_groups = [pack_group(g) for g in self.param_groups] + # Remap state to use order indices as keys + packed_state = { + (param_mappings[id(k)] if isinstance(k, torch.Tensor) else k): cut_states(v) + for k, v in self.state.items() + } + states = { + "state": packed_state, + "param_groups": param_groups, + } + if gather: + states = state_dict_gather(states) + states["is_whole"] = True + else: + states["is_whole"] = False + + return states + + # TODO zero_grad(set_to_none=True) makes optimizer crashed, maybe the reason of grad accu + def zero_grad(self, set_to_none: bool = False): + super().zero_grad(set_to_none=set_to_none) diff --git a/examples/BMTrain/bmtrain/optim/optim_manager.py b/examples/BMTrain/bmtrain/optim/optim_manager.py new file mode 100644 index 00000000..1a98ed92 --- /dev/null +++ b/examples/BMTrain/bmtrain/optim/optim_manager.py @@ -0,0 +1,226 @@ +from typing import Optional, Union, List, Dict, Tuple +import torch +from ..loss._function import has_inf_nan +from ..utils import print_rank +from ..lr_scheduler.warmup import WarmupLRScheduler +from .. import nccl +from ..global_var import config + +def check_overflow(param_groups): + # check overflow + has_inf_or_nan = torch.zeros(1, dtype=torch.uint8, device="cuda")[0] + for group in param_groups: + for p in group['params']: + if p.grad is not None: + if p.dtype != torch.float: + has_inf_nan(p.grad, has_inf_or_nan) + if "comm" in config: + nccl.allReduce(has_inf_or_nan.storage(), has_inf_or_nan.storage(), "max", config["comm"]) + + if has_inf_or_nan > 0: + raise OverflowError("Gradient overflow") + +def grad_rescale(param_groups, scale): + for group in param_groups: + for p in group['params']: + if p.grad is not None and p.requires_grad: + p.grad /= scale + +class OptimManager: + """wait cuda stream. Optional: add loss scaler for mix-precision training + + Args: + loss_scale (float): The initial loss scale. Default to None for not using loss scaling. + loss_scale_factor (float): The loss scale factor. + loss_scale_steps (int): The loss scale steps. + + Examples: + >>> optim_manager = bmt.optim.OptimManager(loss_scale=1024) + >>> optim_manager.add_optimizer(optimizer1) + >>> optim_manager.add_optimizer(optimizer2, lr_scheduler2) + >>> for data in dataset: + >>> # forward pass and calculate loss + >>> optim_manager.zero_grad() + >>> optim_manager.backward(loss) + >>> optim_manager.clip_grad_norm(optimizer1.param_groups, max_norm=1.0, norm_type=2) + >>> optim_manager.clip_grad_norm(optimizer2.param_groups, max_norm=2.0, norm_type=2) + >>> optim_manager.step() + """ + def __init__(self, + loss_scale : Optional[float] = None, + loss_scale_factor : float = 2, + loss_scale_steps : int = 1024, + min_loss_scale = 1, + max_loss_scale = float("inf"), + grad_scale : Optional[int] = None, + ): + if loss_scale is not None: + self.loss_scale = loss_scale + self.loss_scale_enabled = True + else: + self.loss_scale = 1 + self.loss_scale_enabled = False + self.steps_since_last_scale = 0 + self.loss_scale_factor = loss_scale_factor if loss_scale_factor > 1 else 1 / loss_scale_factor + self.loss_scale_steps = loss_scale_steps + self.min_loss_scale = min_loss_scale + self.max_loss_scale = max_loss_scale + if grad_scale is None: + grad_scale = config['zero_size'] + self.grad_scale = grad_scale + + self.optimizers = [] + self.lr_schedulers = [] + + def add_optimizer( + self, + optimizer: torch.optim.Optimizer, + lr_scheduler: Optional[WarmupLRScheduler] = None, + ): + """Add optimizer and (optional) its corresponding lr_scheduler into optim_manager. + All optimizers in the same optim_manager share the same loss scale. + + Args: + optim (torch.optim.Optimizer): A pytorch optimizer, e.g. torch.optim.Adam, torch.optim.SGD or bmtrain.optim.AdamOffloadOptimizer + lr_scheduler (Optional[WarmupLRScheduler]): A warmup lr scheduler, e.g. bmt.lr_scheduler.Noam + """ + self.optimizers.append(optimizer) + self.lr_schedulers.append(lr_scheduler) + + def scale_loss(self, loss : torch.Tensor) -> torch.Tensor: + + return loss * ( self.loss_scale / self.grad_scale ) # loss scale + + def backward(self, loss : torch.Tensor): + """ + Backward with loss scale. + + Args: + loss (torch.Tensor): loss + """ + loss = self.scale_loss(loss) + loss.backward() + # some reduce ops of distributed parameter were launched on load stream + current_stream = torch.cuda.current_stream() + current_stream.wait_stream(config['load_stream']) + + def zero_grad(self): + """ + This is a helper function to call optimizer.zero_grad() + """ + for optimizer in self.optimizers: + optimizer.zero_grad(set_to_none=False) + + def step(self): + """ + Backward with loss scale. + Synchronize streams before optimizer steps. + + This is a helper function to call optimizer.step() and lr_scheduler.step() and synchronize streams. + + This function can also handle gradient overflow by reducing the loss scale when it occurs. + """ + if self.loss_scale_enabled: + has_overflow = False + for optimizer in self.optimizers: + try: + check_overflow(optimizer.param_groups) + except OverflowError: + has_overflow = True + break + if has_overflow: + print_rank("Gradient overflow, change scale from %lf to %lf" % (self.loss_scale, self.loss_scale / self.loss_scale_factor)) + with torch.no_grad(): + if self.loss_scale > self.min_loss_scale: + self._justify_scale(self.loss_scale / self.loss_scale_factor) + self.zero_grad() + return + for optimizer, lr_scheduler in zip(self.optimizers, self.lr_schedulers): + if hasattr(optimizer, "_bmtrain_optimizer") and optimizer._bmtrain_optimizer: + optimizer.step(scale=self.loss_scale) + else: + if self.loss_scale_enabled: + grad_rescale(optimizer.param_groups, self.loss_scale) + optimizer.step() + + if lr_scheduler is not None: + lr_scheduler.step() + + if self.loss_scale_enabled: + self.steps_since_last_scale += 1 + + if self.steps_since_last_scale >= self.loss_scale_steps and self.loss_scale < self.max_loss_scale: + self._justify_scale(self.loss_scale * self.loss_scale_factor) + + current_stream = torch.cuda.current_stream() + config['load_stream'].wait_stream(current_stream) + + def clip_grad_norm(self, param_groups, max_norm, norm_type=2, eps=1e-6): + """Clips gradient norm of an iterable of parameters. + + The norm is computed over all gradients together, as if they were concatenated into a single vector. Gradients are modified in-place. + + Args: + parameters (Iterable[Tensor] or Tensor): an iterable of Tensors or a single Tensor that will have gradients normalized. + max_norm (float or int): max norm of the gradients. + norm_type (float or int): type of the used p-norm. Can be 'inf' for infinity norm. + eps (float): epsilon used to avoid zero division. + + Returns: + Total norm of the parameters (viewed as a single vector). + """ + scale = self.loss_scale + grads = [] + parameters = [p for group in param_groups for p in group['params']] + for p in parameters: + if p.grad is not None: + grads.append(p.grad.data) + else: + grads.append(torch.zeros_like(p.data)) + + if norm_type == 'inf': + total_norm_cuda = max(g.data.abs().max() for g in grads).detach() + nccl.allReduce(total_norm_cuda.storage(), total_norm_cuda.storage(), "max", config["comm"]) + total_norm = total_norm_cuda + else: + norm_type = float(norm_type) + total_norm_cuda = torch.cuda.FloatTensor([0]) + for index, g in enumerate(grads): + param_norm = g.data.float().norm(norm_type) + total_norm_cuda += param_norm ** norm_type + nccl.allReduce(total_norm_cuda.storage(), total_norm_cuda.storage(), "sum", config["comm"]) + total_norm = total_norm_cuda[0] ** (1. / norm_type) + # total_norm = total_norm / scale + # clip_coef = float(max_norm) / (total_norm + eps) + clip_coef = float(max_norm * scale) / (total_norm + eps) + if clip_coef < 1: + for p in parameters: + if p.grad is not None: + p.grad.data.mul_(clip_coef) + return total_norm / scale + + @torch.no_grad() + def _justify_scale(self, scale): + for optimizer in self.optimizers: + if hasattr(optimizer, "_on_justify_scale"): + optimizer._on_justify_scale(self.loss_scale, scale) + self.loss_scale = scale + self.steps_since_last_scale = 0 + + def state_dict(self, gather_opt=False) -> dict: + return { + "optimizers": [opt.state_dict(gather_opt) for opt in self.optimizers], + "lr_schedulers": [lrs.state_dict() if lrs else None for lrs in self.lr_schedulers], + "loss_scale": self.loss_scale, + "loss_scale_enabled": self.loss_scale_enabled, + } + + def load_state_dict(self, state_dict: dict) -> None: + assert len(self.optimizers) == len(state_dict["optimizers"]) + assert len(self.lr_schedulers) == len(state_dict["lr_schedulers"]) + for opt, opt_st in zip(self.optimizers, state_dict["optimizers"]): + opt.load_state_dict(opt_st) + for lrs, lrs_st in zip(self.lr_schedulers, state_dict["lr_schedulers"]): + lrs.load_state_dict(lrs_st) + self.loss_scale = state_dict["loss_scale"] + self.loss_scale_enabled = state_dict["loss_scale_enabled"] diff --git a/examples/BMTrain/bmtrain/param_init.py b/examples/BMTrain/bmtrain/param_init.py new file mode 100644 index 00000000..21f95f25 --- /dev/null +++ b/examples/BMTrain/bmtrain/param_init.py @@ -0,0 +1,105 @@ +from typing import Generator, Iterable, List, Tuple +import torch +from .block_layer import Block +from .parameter import DistributedParameter +from .global_var import config + + +def init_distributed_parameter(params: Iterable[torch.nn.Parameter]): + """Init param of params which is instance of DistributedParameter using param._init_method. + + Args: + params (Iterable[torch.nn.Parameter]): parameter tensors. + + """ + for param in params: + if not isinstance(param, DistributedParameter): + continue + if param._init_method is None: + continue + with torch.no_grad(): + partition_size = param.storage().size() + global_size = partition_size * config["tp_zero_size"] * config["tp_size"] + tmp_storage = param.storage_type()(global_size) + tmp_tensor = torch.tensor([], dtype=param.dtype, device="cuda") + tmp_tensor.set_(tmp_storage, 0, param._tp_original_shape) + + param._init_method(tmp_tensor) + if param._tp_mode and param._tp_split_dim >= 0: + tensor_list = tmp_tensor.chunk( + config["tp_size"], dim=param._tp_split_dim + ) + sub_tensor = tensor_list[config["topology"].tp_id].contiguous() + tmp_tensor = torch.empty( + sub_tensor.shape, device=param.device, dtype=sub_tensor.dtype + ) + tmp_tensor.copy_(sub_tensor) + + if param._tp_mode: + begin = config["tp_zero_rank"] + else: + begin = config["zero_rank"] + end = begin + 1 + + # Pytorch 1.11 changed the API of storage.__getitem__ + torch.tensor([], dtype=param.dtype, device=param.device).set_( + param.storage() + )[:] = torch.tensor([], dtype=param.dtype, device=param.device).set_( + tmp_tensor.storage() + )[ + partition_size * begin : partition_size * end + ] + # param.storage().copy_(tmp_storage[partition_size * config['rank'] : partition_size * (config['rank'] + 1)]) + + +def iterate_parameters(model: torch.nn.Module): + """ + Itterate over the parameters of the model. + """ + for kw, val in model._parameters.items(): + if hasattr(val, "_in_block") and val._in_block: + return [] + yield val + + +def init_parameters(model: torch.nn.Module): + """ + Initialize the parameters of the model by calling the init_method of the distributed parameters. + """ + + modules = model.named_modules() + for module_prefix, module in modules: + if isinstance(module, Block): + module.init_parameters() + else: + init_distributed_parameter(iterate_parameters(module)) + + current_stream = torch.cuda.current_stream() + config["load_stream"].wait_stream(current_stream) + + +def grouped_parameters( + model: torch.nn.Module, +) -> Generator[Tuple[str, List[torch.nn.Parameter]], None, None]: + """ + Iterate over the parameters of the model grouped by the group name. + This is similar to `torch.nn.Module.named_parameters()` . + """ + + ret: List[torch.nn.Parameter] = {} + for module in model.modules(): + if isinstance(module, Block): + for kw, params in module.grouped_parameters(): + if kw not in ret: + ret[kw] = [] + ret[kw].extend(params) + else: + for param in module._parameters.values(): + group = None + if isinstance(param, DistributedParameter): + group = param.group + if group not in ret: + ret[group] = [] + ret[group].append(param) + for kw, val in ret.items(): + yield kw, val diff --git a/examples/BMTrain/bmtrain/parameter.py b/examples/BMTrain/bmtrain/parameter.py new file mode 100644 index 00000000..2dad4a3d --- /dev/null +++ b/examples/BMTrain/bmtrain/parameter.py @@ -0,0 +1,206 @@ +from typing import Callable, Iterable, Optional +import torch +from .utils import round_up +from .global_var import config +from . import nccl +from .distributed import all_gather + + +class DistributedParameter(torch.nn.Parameter): + r""" + DistributedParameter is a subclass of torch.nn.Parameter. + + It scatters the tensor to all the nodes and gathers them when needed. + + Args: + data (Tensor): parameter tensor. + requires_grad (bool, optional): if the parameter requires gradient. + init_method (Callable[['DistributedParameter'], None], optional): the method to initialize the parameter. + group (str, optional): the group name of the parameter. + + **Note**: DistributedParameter must be on the CUDA device. It will transfer the data to device automatically when `__init__` called. + + """ + + _original_shape: torch.Size + _start_partition: int + _end_partition: int + _init_method: Optional[Callable[["DistributedParameter"], None]] + _in_block: bool + _group: Optional[str] + + def __new__( + cls, + data: torch.Tensor, + requires_grad: bool = True, + init_method: Optional[Callable[["DistributedParameter"], None]] = None, + group: Optional[str] = None, + tp_mode: bool = False, + tp_split_dim: int = -1, + ): + if not config["initialized"]: + raise RuntimeError("BMTrain is not initialized") + + num_of_elements = data.numel() + + cuda_tensor = torch.tensor([], dtype=data.dtype, device="cuda") + if tp_mode: + comm = config["tp_zero_comm"] + else: + comm = config["zero_comm"] + world_size = nccl.commCount(comm) + rank = nccl.commRank(comm) + cuda_storage_size = round_up(num_of_elements, world_size) // world_size + + original_shape = data.size() + tp_original_shape = original_shape + if tp_mode and tp_split_dim >= 0: + tp_original_shape = list(original_shape) + tp_original_shape[tp_split_dim] *= config["tp_size"] + + cuda_storage = cuda_tensor.storage_type()(cuda_storage_size) + + start_of_partition = cuda_storage_size * rank + end_of_partition = min(num_of_elements, cuda_storage_size * (rank + 1)) + + # FX: cuda_tensor_size < 0 if num_of_elements is too small + cuda_tensor_size = max(end_of_partition - start_of_partition, 0) + + cuda_tensor.set_(cuda_storage, 0, (cuda_tensor_size,)) + cuda_tensor.copy_(data.view(-1)[start_of_partition:end_of_partition]) + ret = torch.Tensor._make_subclass(cls, cuda_tensor, requires_grad) + + setattr(ret, "_original_shape", original_shape) + setattr(ret, "_start_partition", start_of_partition) + setattr(ret, "_end_partition", end_of_partition) + setattr(ret, "_init_method", init_method) + setattr(ret, "_in_block", False) + setattr(ret, "_group", group if not tp_mode else "tp") + + setattr(ret, "_tp_mode", tp_mode) + setattr(ret, "_zero_comm", comm) + setattr(ret, "_tp_split_dim", tp_split_dim) + setattr(ret, "_tp_original_shape", tp_original_shape) + return ret + + @property + def group(self): + """The group name of the distributed parameter.""" + + return self._group + + def gather(self) -> torch.Tensor: + """Gather the data from ZeRO distributed nodes. + + Return: + torch.Tensor: The gathered data. + + """ + with torch.cuda.stream(config["load_stream"]): + output_tensor = OpAllGather.apply(self) + current_stream = torch.cuda.current_stream() + output_tensor.record_stream(current_stream) + current_stream.wait_stream(config["load_stream"]) + return output_tensor + + def gather_all(self) -> torch.tensor: + """Gather the data from ZeRO and Tensor Parallel distributed nodes. + + Return: + torch.Tensor: The gathered data. + + """ + zero_param = self.gather() + if config["tp_size"] > 1 and self._tp_split_dim >= 0: + output_tensor = all_gather(zero_param, config["tp_comm"]) + if self._tp_split_dim == 1: + output_list = output_tensor.chunk(config["tp_size"], dim=0) + output = torch.cat(output_list, dim=output_list[0].dim() - 1).flatten( + 0, 1 + ) + return output + else: + return output_tensor.flatten(0, 1) + else: + return zero_param + + def tp_gather(self) -> torch.tensor: + """Gather the data from Tensor Parallel distributed nodes. + + Return: + torch.Tensor: The gathered data. + + """ + if config["tp_size"] > 1 and self._tp_split_dim >= 0: + output_tensor = all_gather(self, config["tp_comm"]) + if self._tp_split_dim == 1: + output_list = output_tensor.chunk(config["tp_size"], dim=0) + output = torch.cat(output_list, dim=output_list[0].dim() - 1).flatten( + 0, 1 + ) + return output + else: + return output_tensor.flatten(0, 1) + else: + return self + + def _copy_data(self, data: torch.Tensor): + """Copy data to self.data.""" + self.data.copy_(data.view(-1)[self._start_partition : self._end_partition]) + + +class OpAllGather(torch.autograd.Function): + @staticmethod + def forward(ctx, value: DistributedParameter): + assert isinstance(value, DistributedParameter) + comm = value._zero_comm # config['zero_comm'] + world_size = nccl.commCount(comm) + ctx.comm = comm + ctx.world_size = world_size + + partition_size = value.storage().size() + global_size = partition_size * world_size + + storage = value.storage_type()(global_size) + + nccl.allGather(value.storage(), storage, comm) + + output_tensor = torch.tensor([], dtype=value.dtype, device="cuda") + output_tensor.set_(storage, 0, value._original_shape) + + ctx.partition_size = partition_size + ctx.tensor_size = value.size(0) + return output_tensor + + @staticmethod + def backward(ctx, grad_output: torch.Tensor): + if not grad_output.is_contiguous(): + grad_output = grad_output.contiguous() + + grad_storage = grad_output.storage_type()(ctx.partition_size) + grad_output_storage = grad_output.storage() + if grad_output_storage.size() == ctx.partition_size * ctx.world_size: + pass + else: + grad_output_storage.resize_(ctx.partition_size * ctx.world_size) + nccl.reduceScatter(grad_output_storage, grad_storage, "sum", ctx.comm) + grad_tensor = torch.tensor([], dtype=grad_output.dtype, device="cuda") + grad_tensor.set_(grad_storage, 0, (ctx.tensor_size,)) + return grad_tensor + + +class ParameterInitializer: + """ + ParameterInitializer is a helper class that is used to initialize the distributed parameters. + + Similar to functools.partial . + + """ + + def __init__(self, func: Callable, *args, **kwargs) -> None: + self.func = func + self._args = args + self._kwargs = kwargs + + def __call__(self, param: DistributedParameter): + self.func(param, *self._args, **self._kwargs) diff --git a/examples/BMTrain/bmtrain/pipe_layer.py b/examples/BMTrain/bmtrain/pipe_layer.py new file mode 100644 index 00000000..4d3b17ad --- /dev/null +++ b/examples/BMTrain/bmtrain/pipe_layer.py @@ -0,0 +1,314 @@ +from collections import OrderedDict +import copy +import torch +import copy +from typing import Dict, Iterable, Iterator, Tuple, Union, List +import torch + +from .distributed import all_gather, broadcast, all_reduce, send_activations, recv_activations +from .global_var import config +from . import nccl +from .zero_context import ( + ZeroContext +) +from . import debug +from .block_layer import Block, round_up, _get_param_kw, _block_wrapper + +class PipePreFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, hidden_state, *args): + hidden_state_list = all_gather(hidden_state.clone(), config["pipe_comm"]) + hidden_state_list.requires_grad_() + + batch_related = args[-1] + batch_related_origin = [True if i in args[-1] else False for i in range(len(args[:-1]))] + batch_related_rule = [] + args = args[:-1] + + batch_size = hidden_state.shape[0] + num_micros = config["micros"] + args_list = [[] for _ in range(num_micros)] + input_requires_grad = [] + for arg in args: + if torch.is_tensor(arg): + arg_all = all_gather(arg, config['pipe_comm']) + if arg.dim() == hidden_state.dim() and arg.shape[0] == batch_size: + batch_related_rule.append(True) + arg_all = arg_all.flatten(0, 1).chunk(num_micros, dim=0) + arg_all = [tensor.requires_grad_(arg.requires_grad) for tensor in arg_all] + else: + batch_related_rule.append(False) + arg_all = [arg_all[0].requires_grad_(arg.requires_grad) for i in range(num_micros)] + input_requires_grad.append(arg.requires_grad) + else: + batch_related_rule.append(False) + arg_all = [arg for _ in range(num_micros)] + input_requires_grad.append(False) + for i in range(num_micros): + args_list[i].append(arg_all[i]) + ctx.input_requires_grad = input_requires_grad + ctx.args_list = args_list + if len(batch_related) == 0: + ctx.batch_related = batch_related_rule + else: + ctx.batch_related = batch_related_origin + return hidden_state_list, args_list + + @staticmethod + def backward(ctx, grads, arg_grads): + grads = broadcast(grads, 0, config['pipe_comm']) + topo = config['topology'] + arg_grads = [] + num_micros = config['micros'] + for idx,requires_grad in enumerate(ctx.input_requires_grad): + if requires_grad: + grad = torch.cat([ctx.args_list[m][idx].grad for m in range(num_micros)], dim=0) + grad = all_reduce(grad, "sum", config["pipe_comm"]) + split_size = topo.stages if ctx.batch_related[idx] else num_micros + grad = grad.chunk(split_size) + if ctx.batch_related[idx]: + arg_grads.append(grad[topo.stage_id]) + else: + arg_grads.append(grad[0]) + else: + arg_grads.append(None) + arg_grads.append(None) #for append(batch_related) + return grads.chunk(topo.stages, dim=0)[topo.stage_id], *arg_grads + +class PipePostFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, last_hidden, hidden_states=None, forward_stage_ranges=None, backward_stage_ranges=None, last_hidden_shape=None, return_hidden_states=False): + topo = config['topology'] + ctx.return_hidden_states = return_hidden_states + last_hidden = broadcast(last_hidden, config["pipe_size"] - 1, config["pipe_comm"]) + last_hidden = last_hidden.chunk(topo.stages, dim=0) + output = last_hidden[topo.stage_id] + output.requires_grad_() + + if return_hidden_states: + ctx.stage_id = topo.stage_id + ctx.stages = topo.stages + ctx.backward_stage_ranges = backward_stage_ranges + middle_hiddens = [] + for stage_id in range(ctx.stages): + if ctx.stage_id == stage_id: + middle_hidden = hidden_states + else: + middle_shape = (forward_stage_ranges[stage_id],) + last_hidden_shape + middle_hidden = torch.zeros(middle_shape, device=hidden_states.device, dtype=hidden_states.dtype) + middle_hidden = broadcast(middle_hidden, stage_id, config["pipe_comm"]) + middle_hidden = middle_hidden.chunk(ctx.stages, dim=1) + middle_hidden = middle_hidden[ctx.stage_id].clone() + middle_hiddens.append(middle_hidden) + middle_hiddens = torch.cat(middle_hiddens, dim=0) + middle_hiddens.requires_grad_() + return output, middle_hiddens + else: + return output + + @staticmethod + def backward(ctx, grads, grad_middle=None): + grad_list = all_gather(grads, config["pipe_comm"]) + grad_list = grad_list.flatten(start_dim=0, end_dim=1) + + if ctx.return_hidden_states: + for stage_id in range(ctx.stages): + layer_range = ctx.backward_stage_ranges[stage_id] + grad_middle_state = grad_middle[layer_range] + grad_middle_state = all_gather(grad_middle_state.transpose(0,1), config["pipe_comm"]) + grad_middle_state = grad_middle_state.flatten(start_dim=0, end_dim=1).transpose(0, 1) + if ctx.stage_id == stage_id: + grad_hidden_state_list = grad_middle_state + return grad_list, grad_hidden_state_list, None, None, None, None + else: + return grad_list + +class StagePreFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, input, stage_id): + ctx.stage_id = stage_id + ctx.is_first_stage = stage_id == 0 + ctx.is_last_stage = stage_id == config['pipe_size'] - 1 + if not ctx.is_first_stage: + input = recv_activations(stage_id - 1, config['pipe_comm']) + input.requires_grad_() + return input + return input + + @staticmethod + def backward(ctx, grad_outputs): + if not ctx.is_first_stage: + send_data = grad_outputs[0] if isinstance(grad_outputs, tuple) else grad_outputs + current_stream = torch.cuda.current_stream() + with torch.cuda.stream(config['pp_comm_stream']): + config['pp_comm_stream'].wait_stream(current_stream) + send_data.record_stream(config['pp_comm_stream']) + send_activations(send_data, ctx.stage_id - 1, config['pipe_comm']) + return grad_outputs, None + +class StagePostFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, outputs, stage_id): + ctx.stage_id = stage_id + ctx.is_first_stage = stage_id == 0 + ctx.is_last_stage = stage_id == config['pipe_size'] - 1 + if not ctx.is_last_stage: + send_data = outputs[0] if isinstance(outputs, tuple) else outputs + current_stream = torch.cuda.current_stream() + with torch.cuda.stream(config['pp_comm_stream']): + config['pp_comm_stream'].wait_stream(current_stream) + send_data.record_stream(config['pp_comm_stream']) + send_activations(send_data.detach(), stage_id + 1, config['pipe_comm']) + return outputs + + @staticmethod + def backward(ctx, grad_outputs): + if not ctx.is_last_stage: + pre_grad_inputs = recv_activations(ctx.stage_id + 1, config['pipe_comm']) + return pre_grad_inputs, None + return grad_outputs, None + + +class PipelineTransformerBlockList(torch.nn.Module): + r""" + TransformerBlockList is a list of Blocks. + + This is designed to reduce the communication overhead by overlapping the computation and reduce_scatter operation during backward pass. + + It is similar to `torch.nn.ModuleList` but with the difference when calling .forward() and .backward(). + + Example: + >>> module_list = [ ... ] + >>> normal_module_list = torch.nn.ModuleList(module_list) + >>> transformer_module_list = PipelineTransformerBlockList(module_list) + >>> # Calling normal module list + >>> for layer in normal_module_list: + >>> hidden_state = layer.forward(hidden_state, ...) + >>> # Calling transformer module list + >>> hidden_state = transformer_module_list(hidden_state, ...) + + """ + _modules: Dict[str, Block] + + def __init__(self, modules: Iterable[torch.nn.Module], num_hidden=1) -> None: + super().__init__() + self.num_hidden = num_hidden + self._modules = {} + self.layer_ids = [] + topo = config["topology"] + self.stages = topo.stages + self.stage_id = topo.stage_id + self.pipe_idx = topo.pipe_idx + module_dict = {} + for idx, module in enumerate(modules): + module = _block_wrapper(module, module_dict, "PIPE") + module._zero_level = 2 #currently, only support ZeRO-2 in pipeline mode + self._modules[str(idx)] = module + + self.layer_ids = self.get_range_by_stage_id(self.stage_id) + + pre_module = None + for i,layer_id in enumerate(self.layer_ids): + module = self._modules[str(layer_id)] + module.set_pre_module(pre_module) + pre_module = module + module._is_first_layer = False + module._is_last_layer = False + + self._modules[str(self.layer_ids[0])]._is_first_layer = True + self._modules[str(self.layer_ids[-1])]._is_last_layer = True + + def __len__(self) -> int: + return len(self._modules) + + def __iter__(self) -> Iterator[Block]: + return iter(self._modules.values()) + + def __getitem__(self, index: Union[int, str]) -> Block: + return self._modules[str(index)] + + def forward(self, hidden_state, *args, batch_related=[], return_hidden_states=False): + self.return_hidden_states = return_hidden_states + batch_size = hidden_state.shape[0] + num_micros = config["micros"] + args = args + (batch_related, ) + hidden_state.requires_grad_() + hidden_state_list, args_list = PipePreFunction.apply(hidden_state, *args) + + hidden_state_list = hidden_state_list.flatten(0, 1).chunk(num_micros, dim=0) + outputs = [] + hidden_states = [] + + for micro_idx, (hidden_state, arg) in enumerate(zip(hidden_state_list, args_list)): + micro_hidden_states = [] + + hidden_state = StagePreFunction.apply(hidden_state, self.stage_id) + + for idx,layer_id in enumerate(self.layer_ids): + self._modules[str(layer_id)]._micro_idx = micro_idx + if return_hidden_states: + micro_hidden_states.append(hidden_state) + hidden_state = self._modules[str(layer_id)](hidden_state, *arg) + hidden_state = StagePostFunction.apply(hidden_state, self.stage_id) + + outputs.append(hidden_state) + if return_hidden_states: + hidden_states.append(torch.stack(micro_hidden_states, dim=0)) + + last_hidden = torch.cat(outputs, dim=0) + last_hidden_shape = last_hidden.shape + + if return_hidden_states: + hidden_states = torch.cat(hidden_states, dim=1) + forward_stage_ranges = [] + backward_stage_ranges = [] + for stage_id in range(self.stages): + forward_stage_ranges.append(self.get_part_len_by_stage_id(stage_id)) + backward_stage_ranges.append(self.get_range_by_stage_id(stage_id)) + outputs, hidden_states = PipePostFunction.apply(last_hidden, hidden_states, forward_stage_ranges, backward_stage_ranges, last_hidden_shape, return_hidden_states) + return outputs, hidden_states + else: + outputs = PipePostFunction.apply(last_hidden) + return outputs + + def get_range_by_stage_id(self, stage_id : int) -> List[int]: + part_lens = [0]+[self.get_part_len_by_stage_id(i) for i in range(stage_id+1)] + start = sum(part_lens[:stage_id+1]) + end = start + part_lens[stage_id+1] + return range(start, end) + + def get_part_len_by_stage_id(self, stage_id : int) -> int: + return len(self) // self.stages + (stage_id < (len(self) % self.stages)) + + def get_stage_by_layer_id(self, layer_id : int) -> int: + part_len = len(self) // self.stages + rest = len(self) % self.stages + if layer_id // (part_len + 1) < rest: + return layer_id // (part_len + 1) + else: + return rest + (layer_id - rest * (part_len+1)) // part_len + + def _save_to_state_dict(self, destination, prefix, keep_vars): + for name, module in self._modules.items(): + idx = int(name) + name = prefix + name + '.' + + dst = OrderedDict() # creates an temporary ordered dict + dst._metadata = OrderedDict() + + if idx in self.layer_ids: + with torch.no_grad(): + with ZeroContext(module, pipe=True): + module._module.state_dict(destination=dst, prefix=name, keep_vars=False) + + if config["topology"].pp_zero_id == 0: + if config["rank"] == 0: + destination.update(dst) + else: + assert list(dst.keys()) == [name+n for n, parameter in module._module.named_parameters()] + for key, tensor in dst.items(): + send_activations(tensor.cuda(), 0, config['pipe_comm']) + if config['rank'] == 0 and idx not in self.layer_ids: + for n, parameter in module._module.named_parameters(): + destination[name+n] = recv_activations(self.get_stage_by_layer_id(idx), config['pipe_comm']).cpu() + diff --git a/examples/BMTrain/bmtrain/store.py b/examples/BMTrain/bmtrain/store.py new file mode 100644 index 00000000..2a3ee02c --- /dev/null +++ b/examples/BMTrain/bmtrain/store.py @@ -0,0 +1,325 @@ +from collections import OrderedDict +from typing import Dict +import torch + +from .pipe_layer import PipelineTransformerBlockList +from .block_layer import TransformerBlockList +from .global_var import config +from .block_layer import Block +from . import nccl +import io, pickle +from typing import Mapping +import threading +import bmtrain as bmt + +def _save_to_state_dict(model : torch.nn.Module, rank, destination, prefix): + if isinstance(model, Block): + if rank != 0: + destination = OrderedDict() # creates an temporary ordered dict + destination._metadata = OrderedDict() + model.state_dict(destination=destination, prefix=prefix, keep_vars=False) + else: + if rank != 0: + destination = OrderedDict() # creates an temporary ordered dict + destination._metadata = OrderedDict() + model._save_to_state_dict(destination, prefix, False) + +def _save_to_local_rank0(model : torch.nn.Module, destination=None, prefix=''): + if destination is None: + destination = OrderedDict() + destination._metadata = OrderedDict() + destination._metadata[prefix[:-1]] = local_metadata = dict(version=model._version) + _save_to_state_dict(model, config['local_rank'], destination, prefix) + for name, module in model._modules.items(): + if module is not None: + _save_to_local_rank0(module, destination, prefix + name + '.') + for hook in model._state_dict_hooks.values(): + hook_result = hook(model, destination, prefix, local_metadata) + if hook_result is not None: + destination = hook_result + return destination + + +def _save_to_rank0(model : torch.nn.Module, destination=None, prefix=''): + if destination is None: + destination = OrderedDict() + destination._metadata = OrderedDict() + destination._metadata[prefix[:-1]] = local_metadata = dict(version=model._version) + if not isinstance(model, PipelineTransformerBlockList): + _save_to_state_dict(model, config['rank'], destination, prefix) + for name, module in model._modules.items(): + if module is not None: + _save_to_rank0(module, destination, prefix + name + '.') + for hook in model._state_dict_hooks.values(): + hook_result = hook(model, destination, prefix, local_metadata) + if hook_result is not None: + destination = hook_result + else: + model._save_to_state_dict(destination, prefix, False) + return destination + +def _save_to_infer_model(model : torch.nn.Module, infer_model, destination=None, prefix=''): + config['save_param_to_cpu'] = False + if destination is None: + destination = OrderedDict() + destination._metadata = OrderedDict() + destination._metadata[prefix[:-1]] = local_metadata = dict(version=model._version) + _save_to_state_dict(model, config['local_rank'], destination, prefix) + for name, module in model._modules.items(): + if module is not None: + if isinstance(module, TransformerBlockList): + for local_name, local_module in module._modules.items(): + local_state_dict = _save_to_local_rank0(local_module, None, prefix + name + "." + local_name + '.') + if config['local_rank'] == 0: + infer_model.load_layer_state_dict(local_state_dict) + else: + _save_to_infer_model(module, infer_model, destination, prefix + name + '.') + for hook in model._state_dict_hooks.values(): + hook_result = hook(model, destination, prefix, local_metadata) + if hook_result is not None: + destination = hook_result + + if config['local_rank'] == 0: + infer_model.load_layer_state_dict(destination) + + +def async_save_to_file(state_dict, file_path): + torch.save(state_dict, file_path) + config['finish_save'] = True + print("finish save state_dict to ", file_path) + +def save(model : torch.nn.Module, file_name : str, non_blocking : bool=False): + """Saves the model to the file. + + Similar to torch.save, but it used for distributed modules. + + Args: + model (torch.nn.Module): The model to be saved. + file_name (str): The file name of the checkpoint. + non_blocking (bool): Whether to asynchronously save state_dict to file + + + Examples: + >>> bmtrain.save(model, "model.pt") + """ + torch.cuda.synchronize() + state_dict = _save_to_rank0(model) + if config["rank"] == 0: + if non_blocking is False: + torch.save(state_dict, file_name) + else: + if 'finish_save' not in config: + config['finish_save'] = True + + if config['finish_save'] is False: + config['save_thread'].join() + + config['finish_save'] = False + config['save_thread'] = threading.Thread(target=async_save_to_file, args=(state_dict, file_name)) + config['save_thread'].start() + bmt.synchronize() + +DTYPE_LIST = [ + torch.float64, + torch.float32, + torch.float16, + torch.int64, + torch.int32, + torch.int16, + torch.int8, + torch.bfloat16, + torch.bool +] + +_pickler = pickle.Pickler +_unpickler = pickle.Unpickler + +def allgather_objects(obj): + if bmt.world_size() == 1: + return [obj] + + with torch.no_grad(): + data_bytes: bytes = pickle.dumps(obj) + data_length: int = len(data_bytes) + + gpu_data_length = torch.tensor([data_length], device="cuda", dtype=torch.long) + gathered_length = bmt.distributed.all_gather(gpu_data_length).view(-1).cpu() + max_data_length = gathered_length.max().item() + + gpu_data_bytes = torch.zeros(max_data_length, dtype=torch.uint8, device="cuda") + byte_storage = torch.ByteStorage.from_buffer(data_bytes) + gpu_data_bytes[:data_length] = torch.ByteTensor(byte_storage) + + gathered_data = bmt.distributed.all_gather(gpu_data_bytes).cpu() + + ret = [] + for i in range(gathered_data.size(0)): + data_bytes = gathered_data[i, : gathered_length[i].item()].numpy().tobytes() + ret.append(pickle.loads(data_bytes)) + return ret + +def broadcast_object(obj, comm, src = 0): + if nccl.commRank(comm) == src: + f = io.BytesIO() + _pickler(f).dump(obj) + byte_storage = torch.ByteStorage.from_buffer(f.getvalue()) + # Do not replace `torch.ByteTensor` or `torch.LongTensor` with torch.tensor and specifying dtype. + # Otherwise, it will casue 100X slowdown. + # See: https://github.com/pytorch/pytorch/issues/65696 + byte_tensor = torch.ByteTensor(byte_storage).cuda() + local_size = torch.LongTensor([byte_tensor.numel()]).cuda() + + nccl.broadcast( + local_size.storage(), + local_size.storage(), + src, + comm + ) + nccl.broadcast( + byte_tensor.storage(), + byte_tensor.storage(), + src, + comm + ) + else: + local_size = torch.LongTensor([0]).cuda() + nccl.broadcast( + local_size.storage(), + local_size.storage(), + src, + comm + ) + byte_tensor_size = local_size[0].item() + byte_tensor = torch.empty(int(byte_tensor_size), dtype=torch.uint8, device="cuda") + nccl.broadcast( + byte_tensor.storage(), + byte_tensor.storage(), + src, + comm + ) + buf = byte_tensor.cpu().numpy().tobytes() + obj = _unpickler(io.BytesIO(buf)).load() + return obj + +# Must be a Mapping after pytorch 1.12.0 +class DistributedTensorWrapper: + def __init__(self, tensor, shape=None): + self._dtype = tensor.dtype + self._device = tensor.device + self.shape = shape + self.tensor = tensor + + def broadcast(self): + output_param = torch.empty(self.shape, dtype=self._dtype, device="cuda") + if config['rank'] == 0: + input_param = self.tensor + if input_param.is_cuda: + input_param = input_param.clone().contiguous() + else: + input_param = input_param.cuda().contiguous() + + nccl.broadcast( + input_param.storage(), + output_param.storage(), + 0, + config['comm'] + ) + else: + nccl.broadcast( + output_param.storage(), + output_param.storage(), + 0, + config['comm'] + ) + return output_param + + def copy(self): + return self.tensor + + def __getattribute__(self, name): + if name == "tensor" or name == "shape": + return object.__getattribute__(self, name) + else: + try: + return object.__getattribute__(self, name) + except AttributeError: + pass + + return getattr(self.tensor, name) + +class DistributedStateDictWrapper(Mapping): + def __init__(self, state_dict : Dict) -> None: + self._state_dict = state_dict + self._metadata = broadcast_object(getattr(state_dict, "_metadata", None), config["comm"]) + + def __getitem__(self, key : str): + tmp_shape = torch.zeros(32, device="cuda", dtype=torch.int32) + if config['rank'] == 0: + input_param : torch.Tensor = self._state_dict[key] + shape_list = torch.tensor(list(input_param.size()), device="cuda", dtype=torch.int32) + dtype_idx = DTYPE_LIST.index(input_param.dtype) + + assert dtype_idx != -1, "Unknown data type %s" % input_param.dtype + + tmp_shape[0] = shape_list.size(0) + tmp_shape[1] = dtype_idx + tmp_shape[2:2 + shape_list.size(0)] = shape_list + + nccl.broadcast( + tmp_shape.storage(), + tmp_shape.storage(), + 0, + config['comm'] + ) + + shape_list_size = tmp_shape[0].item() + dtype_idx = tmp_shape[1].item() + shape_list = torch.Size(tmp_shape[2: 2 + shape_list_size].tolist()) + + if config['rank'] != 0: + return DistributedTensorWrapper(torch.tensor([], dtype=DTYPE_LIST[dtype_idx], device="cuda"), shape=shape_list) + else: + return DistributedTensorWrapper(self._state_dict[key], shape=shape_list) + + + + def copy(self): + return self + + def __len__(self): + return broadcast_object(len(self._state_dict), config["comm"]) + + def __contains__(self, key : str): + return broadcast_object(key in self._state_dict, config["comm"]) + + def keys(self): + return broadcast_object(list(self._state_dict.keys()),config["comm"]) + + def __iter__(self): + # pytorch 1.12.0 updated the load_state_dict method, which needs the state_dict to be a `Mapping`. + return iter(self.keys()) + +def load(model : torch.nn.Module, file_name : str, strict : bool = True): + """Loads the model from the file. + + Similar to torch.load, but it uses less memory when loading large models. + + Args: + model (torch.nn.Module): The model to be loaded. + file_name (str): The file name of the checkpoint. + strict (bool): Strict option of `load_state_dict`. + + Example: + >>> bmtrain.load(model, "model.pt", strict=True) + """ + if config['rank'] == 0: + state_dict = DistributedStateDictWrapper(torch.load(file_name)) + else: + state_dict = DistributedStateDictWrapper({}) + + ret = model.load_state_dict( + state_dict, + strict = strict + ) + torch.cuda.synchronize() + return ret diff --git a/examples/BMTrain/bmtrain/synchronize.py b/examples/BMTrain/bmtrain/synchronize.py new file mode 100644 index 00000000..87619159 --- /dev/null +++ b/examples/BMTrain/bmtrain/synchronize.py @@ -0,0 +1,73 @@ +import torch +from . import distributed, nccl +from .global_var import config +import warnings +from typing import Optional + + +def synchronize(): + """ + Synchronize all the workers across all nodes. (both CPU and GPU are synchronized) + """ + if not config["initialized"]: + raise RuntimeError("BMTrain is not initialized") + + with torch.cuda.stream(config["barrier_stream"]): + barrier = torch.cuda.FloatTensor([1]) + nccl.allReduce(barrier.storage(), barrier.storage(), "sum", config["comm"]) + config["barrier_stream"].synchronize() + + +def wait_loader(): + """ + Clac_stream (normally current stream) wait latest loader event, and set a new one. + """ + if not config["initialized"]: + raise RuntimeError("BMTrain is not initialized") + + config["load_event"].synchronize() + config["calc_stream"].record_event(config["load_event"]) + + +def sum_loss(loss: torch.Tensor, comm: Optional[nccl.NCCLCommunicator] = None): + """ + Sum the loss across all workers. + + This is a helper function to reduce the loss across all workers. + """ + if comm is None: + comm = config["comm"] + warnings.warn( + "bmtrain.sum_loss is deprecated and will be removed in later version. Use bmtrain.distributed.all_reduce instead.", + DeprecationWarning, + ) + + return distributed.all_reduce(loss, "avg", comm) + + +def gather_result(result: torch.Tensor): + """ + Gather result across all workers. + """ + warnings.warn( + "bmtrain.gather_result is deprecated and will be removed in later version. Use bmtrain.distributed.all_gather instead.", + DeprecationWarning, + ) + if result.storage_offset() != 0 or result.storage().size() != result.numel(): + # Create a clone of the original tensor if it's a slice + result = result.clone() + + output_cuda = True + if not result.is_cuda: + result = result.cuda() + output_cuda = False + ret = torch.empty( + (result.shape[0] * config["world_size"], *list(result.shape[1:])), + device=result.device, + dtype=result.dtype, + ) + nccl.allGather(result.storage(), ret.storage(), config["comm"]) + if output_cuda: + return ret + else: + return ret.cpu() diff --git a/examples/BMTrain/bmtrain/utils.py b/examples/BMTrain/bmtrain/utils.py new file mode 100644 index 00000000..daa4c595 --- /dev/null +++ b/examples/BMTrain/bmtrain/utils.py @@ -0,0 +1,184 @@ +import torch +import sys +from typing import Any, Dict, Iterable, Optional +from .global_var import config +import os +import ctypes + +ALIGN = 4 +ROW_WIDTH = 60 + + +def check_torch_version(version_str): + """ + Checks if the current torch version is greater than or equal to the given version. + version_str (str): The version to compare with, in the format of "x.y.z" ,and the func will convert it into a int value of x*100+y*10+z. + """ + version_int_arr = [int(v) for v in version_str.split(".")] + + version_int = ( + version_int_arr[0] * 10000 + version_int_arr[1] * 100 + version_int_arr[2] + ) + torch_version = torch.__version__.split("+")[0] + current_version_int_arr = [int(v) for v in torch_version.split(".")] + current_version_int = ( + current_version_int_arr[0] * 10000 + + current_version_int_arr[1] * 100 + + current_version_int_arr[2] + ) + return current_version_int - version_int + + +def load_nccl_pypi(): + """ + Check if current nccl is avaliable. + """ + try: + import nvidia.nccl + except: + raise ImportError("Run pip install nvidia-nccl-cu11 >=2.14.3 first") + + path = os.path.join(os.path.dirname(nvidia.nccl.__file__), "lib") + for file_so in os.listdir(path): + file_split = file_so.split(".") + if file_split[-1] == "so" or (len(file_split) > 1 and file_split[-2] == "so"): + ctypes.CDLL(os.path.join(path, file_so)) + + +def round_up(x, d): + """ + Return (x + d - 1) // d * d + """ + return (x + d - 1) // d * d + + +def print_dict(title: str, content: Dict[str, Any], file=sys.stdout): + """ + Print Dict to file. + """ + max_kw_len = max([len(kw) for kw in content.keys()]) + max_kw_len = round_up(max_kw_len + 3, 4) + + raw_content = "" + + for kw, val in content.items(): + raw_content += kw + " :" + " " * (max_kw_len - len(kw) - 2) + raw_val = "%s" % val + + len_val_row = ROW_WIDTH - max_kw_len + st = 0 + if len(raw_val) == 0: + raw_val = " " + while st < len(raw_val): + if st > 0: + raw_content += " " * max_kw_len + raw_content += raw_val[st : st + len_val_row] + "\n" + st += len_val_row + + print_block(title, raw_content, file) + + +def print_block(title: str, content: Optional[str] = None, file=sys.stdout): + """ + Print content to file. + """ + left_title = (ROW_WIDTH - len(title) - 2) // 2 + right_title = ROW_WIDTH - len(title) - 2 - left_title + + print("=" * left_title + " " + title + " " + "=" * right_title, file=file) + if content is not None: + print(content, file=file) + + +def print_rank(*args, rank=0, **kwargs): + """ + Prints the message only on the `rank` of the process. + + Args: + *args: The arguments to be printed. + rank (int): The rank id of the process to print. + **kwargs: The keyword arguments to be printed. + + """ + if config["rank"] == rank: + print(*args, **kwargs) + + +def see_memory(message, detail=False): + """ + Outputs a message followed by GPU memory status summary on rank 0. + At the end of the function, the starting point in tracking maximum GPU memory will be reset. + + Args: + message (str): The message to be printed. It can be used to distinguish between other outputs. + detail (bool): Whether to print memory status in a detailed way or in a concise way. Default to false. + + Example: + >>> bmt.see_memory("before forward") + >>> # forward_step() + >>> bmt.see_memory("after forward") + + """ + print_rank(message) + if detail: + print_rank(torch.cuda.memory_summary()) + else: + print_rank( + f""" + ======================================================================================= + memory_allocated {round(torch.cuda.memory_allocated() / (1024 * 1024 * 1024),2 )} GB + max_memory_allocated {round(torch.cuda.max_memory_allocated() / (1024 * 1024 * 1024),2)} GB + ======================================================================================= + """ + ) + torch.cuda.reset_peak_memory_stats() + + +def tp_split_tensor(tensor, split_dim): + """ + Outpus the tensor with config["toplogy"].tp_id split at split dim. + + Args: + tensor (torch.tensor): The tensor to be splited. + split_dim (int): The dim to split the input tensor. + + """ + tensor_list = tensor.chunk(config["tp_size"], dim=split_dim) + sub_tensor = tensor_list[config["topology"].tp_id].contiguous() + tmp_tensor = torch.empty( + sub_tensor.shape, device=sub_tensor.device, dtype=sub_tensor.dtype + ) + tmp_tensor.copy_(sub_tensor) + return tmp_tensor + + +class AverageRecorder: + """A utility class to record the average value of a quantity over time. + + Args: + alpha (float): The decay factor of the average. + start_value (float): The initial value of the average. + + Use `.value` to get the current average value. + It is calculated as `alpha * old_value + (1 - alpha) * new_value`. + + """ + + def __init__(self, alpha=0.9, start_value=0): + self._value = start_value + self.alpha = alpha + self._steps = 0 + + def record(self, v): + """Records a new value. + Args: + v (float): The new value. + """ + self._value = self._value * self.alpha + v * (1 - self.alpha) + self._steps += 1 + + @property + def value(self): + if self._steps <= 0: + return self._value + return self._value / (1 - pow(self.alpha, self._steps)) diff --git a/examples/BMTrain/bmtrain/wrapper.py b/examples/BMTrain/bmtrain/wrapper.py new file mode 100644 index 00000000..e64fd5ba --- /dev/null +++ b/examples/BMTrain/bmtrain/wrapper.py @@ -0,0 +1,54 @@ +import torch +from .block_layer import Block, TransformerBlockList +from .layer import DistributedModule, DistributedParameter + + +def make_distributed(model: torch.nn.Module): + for kw in list(model._parameters.keys()): + if model._parameters[kw] is not None: + if not isinstance(model._parameters[kw], DistributedParameter): + model._parameters[kw] = DistributedParameter( + model._parameters[kw], + requires_grad=model._parameters[kw].requires_grad, + ) + + for kw in list(model._buffers.keys()): + if model._buffers[kw] is not None: + model._buffers[kw] = model._buffers[kw].cuda() + is_module_list = isinstance(model, torch.nn.ModuleList) + pre_module = None + for kw in list(model._modules.keys()): + if is_module_list: + if not isinstance(model._modules[kw], Block): + model._modules[kw] = Block(model_wrapper_dispatch(model._modules[kw])) + if pre_module is not None: + model._modules[kw].set_pre_module(pre_module) + pre_module = model._modules[kw] + else: + model._modules[kw] = model_wrapper_dispatch(model._modules[kw]) + + model.__class__ = type( + "bmtrain.Distributed" + model.__class__.__name__, + (model.__class__, DistributedModule), + {}, + ) + return model + + +def model_wrapper_dispatch(model: torch.nn.Module): + if isinstance(model, TransformerBlockList): + return model + elif isinstance(model, DistributedModule): + return model + elif isinstance(model, Block): + return model + else: + return make_distributed(model) + + +def BMTrainModelWrapper(model: torch.nn.Module) -> torch.nn.Module: + """ + Automatically wrap a model in a BMTrain model. + Replaces all parameters with DistributedParameter, all modules with DistributedModule, and modules in ModuleList with Block. + """ + return model_wrapper_dispatch(model) diff --git a/examples/BMTrain/bmtrain/zero_context.py b/examples/BMTrain/bmtrain/zero_context.py new file mode 100644 index 00000000..8a74b3f8 --- /dev/null +++ b/examples/BMTrain/bmtrain/zero_context.py @@ -0,0 +1,203 @@ +import torch +from . import nccl +from .global_var import config +from .synchronize import wait_loader + + +class ZeroContext: + """ZeroContext is a helper class to Gather parameters before module forward and reduce scatter + gradients after module backward. + + Args: + block (BLock): Input Block. + ctx_dict (dict): block._layer_dict. + pipe (bool): True if use pipe parallel. + + """ + + def __init__(self, block: "Block", ctx_dict: dict = None, pipe=False) -> None: + self.block = block + self.ctx_dict = ctx_dict + self._param_buffer = {} + self._grad_buffer = {} + self._param_tensor = {} + self._grad_tensor = {} + self._need_release = False + + def enter(self, flag=0, requires_grad=False): + """ + Gather parameters before module forward and init grad buffer before backward. + """ + if self.block._ready: + return + self.block._ready = True + self._need_release = True + + wait_loader() + with torch.cuda.stream(config["load_stream"]): + for kw, val in self.block._storage_info.items(): + assert self.block._storage_params[kw].is_cuda + assert kw not in self._grad_buffer + assert kw not in self._param_buffer + local_param = self.block._storage_params[kw] + + storage_type = local_param.storage_type() + if flag != 2: + self._param_buffer[kw] = storage_type( + val["partition_size"] * val["world_size"] + ) + self._param_tensor[kw] = torch.tensor( + [], + dtype=self._param_buffer[kw].dtype, + device=self._param_buffer[kw].device, + ).set_(self._param_buffer[kw]) + + if requires_grad and local_param.requires_grad: + self._grad_buffer[kw] = storage_type( + val["partition_size"] * val["world_size"] + ) + self._grad_tensor[kw] = ( + torch.tensor( + [], + dtype=self._grad_buffer[kw].dtype, + device=self._grad_buffer[kw].device, + ) + .set_(self._grad_buffer[kw]) + .zero_() + ) + if flag != 2: + nccl.groupStart() + for kw, val in self.block._storage_info.items(): + nccl.allGather( + self.block._storage_params[kw].storage(), + self._param_buffer[kw], + val["zero_comm"], + ) + nccl.groupEnd() + + current_stream = torch.cuda.current_stream() + current_stream.wait_stream(config["load_stream"]) + + # set wait stream for each storage + for kw in self.block._storage_info.keys(): + if flag != 2: + self._param_tensor[kw].record_stream(current_stream) + if requires_grad and kw in self._grad_tensor: + self._grad_tensor[kw].record_stream(current_stream) + + # update parameters in block + for param in self.block._param_info: + kw_name = param["kw_name"] + offset = param["offset"] + shape = param["shape"] + + if flag != 2: + dtype = self._param_buffer[kw_name].dtype + device = self._param_buffer[kw_name].device + param["parameter"].data = torch.tensor( + [], dtype=dtype, device=device + ).set_(self._param_buffer[kw_name], offset, shape) + else: + dtype = param["parameter"].data.dtype + device = param["parameter"].data.device + param["parameter"].data = torch.tensor( + [], dtype=dtype, device=device + ).set_(self.ctx_dict[kw_name], offset, shape) + + if ( + requires_grad + and kw_name in self._grad_buffer + and param["parameter"].requires_grad + ): + param["parameter"].grad = torch.tensor( + [], dtype=dtype, device=device + ).set_(self._grad_buffer[kw_name], offset, shape) + + def __enter__(self): + self.enter() + + def exit(self, flag=0, backward=False): + """ + Reduce scatter gradients when backward and release all parameters from buffer to block_storge when forward is done. + """ + if not self._need_release: + return + self._need_release = False + self.block._ready = False + if backward: + for kw, val in self.block._storage_info.items(): + local_param = self.block._storage_params[kw] + + # accumulate previous gradient + if local_param.requires_grad: + if local_param.grad is None: + grad_storage = val["storage_type"]( + val["partition_size"] + ) # initialize gradient if not exist + local_param.grad = ( + torch.tensor( + [], dtype=grad_storage.dtype, device=grad_storage.device + ) + .set_(grad_storage) + .zero_() + ) + else: + self._grad_tensor[kw][ + val["begin"] : val["end"] + ] += local_param.grad + + current_stream = torch.cuda.current_stream() + config["load_stream"].wait_stream(current_stream) # wait for backward + + with torch.cuda.stream(config["load_stream"]): + nccl.groupStart() + for kw, val in self.block._storage_info.items(): + local_param = self.block._storage_params[kw] + + # scatter gradient + if local_param.requires_grad: + nccl.reduceScatter( + self._grad_buffer[kw], + local_param.grad.storage(), + "sum", + val["zero_comm"], + ) + nccl.groupEnd() + + # set wait stream for each storage + for kw in self._grad_tensor.keys(): + # grads can not be freed until reduce ops finish + self._grad_tensor[kw].record_stream(config["load_stream"]) + + # Release all parameters from buffer to block_storge + for param in self.block._param_info: + kw_name = param["kw_name"] + dtype = self.block._storage_params[kw_name].dtype + device = self.block._storage_params[kw_name].device + if "begin" not in param: + param["parameter"].data = torch.tensor([], dtype=dtype, device=device) + param["parameter"].grad = None + continue + begin = param["begin"] + end = param["end"] + param["parameter"].data = torch.tensor([], dtype=dtype, device=device).set_( + self.block._storage_params[kw_name].storage(), begin, end + ) + if ( + param["parameter"].requires_grad + and self.block._storage_params[kw_name].grad is not None + ): + param["parameter"].grad = torch.tensor( + [], dtype=dtype, device=device + ).set_(self.block._storage_params[kw_name].grad.storage(), begin, end) + if flag == 1: + for i in self._param_buffer: + self.ctx_dict[i] = self._param_buffer[i] + self._grad_tensor = {} + self._param_tensor = {} + self._grad_buffer = {} + self._param_buffer = {} + + def __exit__(self, exc_type, exc_val, exc_tb): + # reduce scatter gradients + self.exit() diff --git a/examples/BMTrain/cmake/FindNCCL.cmake b/examples/BMTrain/cmake/FindNCCL.cmake new file mode 100644 index 00000000..2af8e3b9 --- /dev/null +++ b/examples/BMTrain/cmake/FindNCCL.cmake @@ -0,0 +1,100 @@ +list(APPEND NCCL_ROOT $ENV{NCCL_ROOT_DIR} ${CUDA_TOOLKIT_ROOT_DIR}) +if(DEFINED ENV{NCCL_ROOT_DIR}) + set(NCCL_ROOT_DIR $ENV{NCCL_ROOT_DIR}) + set(NCCL_INCLUDE_DIR "${NCCL_ROOT_DIR}/include" CACHE PATH "Folder contains NVIDIA NCCL headers") + set(NCCL_LIB_DIR "${NCCL_ROOT_DIR}/lib" CACHE PATH "Folder contains NVIDIA NCCL libraries") +else() + set(NCCL_INCLUDE_DIR $ENV{NCCL_INCLUDE_DIR} CACHE PATH "Folder contains NVIDIA NCCL headers") + set(NCCL_LIB_DIR $ENV{NCCL_LIB_DIR} CACHE PATH "Folder contains NVIDIA NCCL libraries") +endif() + +# Compatible layer for CMake <3.12. NCCL_ROOT will be accounted in for searching paths and libraries for CMake >=3.12. +if(NOT NCCL_INCLUDE_DIR OR NOT NCCL_LIB_DIR) + execute_process( + COMMAND python -c "import nvidia.nccl;import os; print(os.path.dirname(nvidia.nccl.__file__))" + OUTPUT_VARIABLE NCCL_PIP_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND NCCL_ROOT $ENV{NCCL_PIP_DIR}) + if(NOT NCCL_INCLUDE_DIR) + set(NCCL_INCLUDE_DIR "${NCCL_PIP_DIR}/include") + endif() + if(NOT NCCL_LIB_DIR) + set(NCCL_LIB_DIR "${NCCL_PIP_DIR}/lib") + endif() + find_library(NCCL_LIBRARIES + NAMES ${NCCL_LIBNAME} + HINTS ${NCCL_LIB_DIR}) +endif() + +list(APPEND CMAKE_PREFIX_PATH ${NCCL_ROOT}) +find_path(NCCL_INCLUDE_DIRS + NAMES nccl.h + HINTS ${NCCL_INCLUDE_DIR}) + + + +if (USE_STATIC_NCCL) + MESSAGE(STATUS "USE_STATIC_NCCL is set. Linking with static NCCL library.") + SET(NCCL_LIBNAME "nccl_static") + if (NCCL_VERSION) # Prefer the versioned library if a specific NCCL version is specified + set(CMAKE_FIND_LIBRARY_SUFFIXES ".a.${NCCL_VERSION}" ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif() +else() + SET(NCCL_LIBNAME "nccl") + + if (NCCL_VERSION) # Prefer the versioned library if a specific NCCL version is specified + message(STATUS "NCCL version: ${NCCL_VERSION}") + set(CMAKE_FIND_LIBRARY_SUFFIXES ".so.${NCCL_VERSION}" ${CMAKE_FIND_LIBRARY_SUFFIXES}) + else() + set(CMAKE_FIND_LIBRARY_SUFFIXES ".so.2" ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif() + +endif() + +find_library(NCCL_LIBRARIES + NAMES ${NCCL_LIBNAME} + HINTS ${NCCL_LIB_DIR}) + + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(NCCL DEFAULT_MSG NCCL_INCLUDE_DIRS NCCL_LIBRARIES) + +if(NCCL_FOUND) # obtaining NCCL version and some sanity checks + set (NCCL_HEADER_FILE "${NCCL_INCLUDE_DIRS}/nccl.h") + message (STATUS "Determining NCCL version from ${NCCL_HEADER_FILE}...") + set (OLD_CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES}) + list (APPEND CMAKE_REQUIRED_INCLUDES ${NCCL_INCLUDE_DIRS}) + include(CheckCXXSymbolExists) + check_cxx_symbol_exists(NCCL_VERSION_CODE nccl.h NCCL_VERSION_DEFINED) + + if (NCCL_VERSION_DEFINED) + set(file "${PROJECT_BINARY_DIR}/detect_nccl_version.cc") + file(WRITE ${file} " + #include <iostream> + #include <nccl.h> + int main() + { + std::cout << NCCL_MAJOR << '.' << NCCL_MINOR << '.' << NCCL_PATCH << std::endl; + int x; + ncclGetVersion(&x); + return x == NCCL_VERSION_CODE; + } +") + try_run(NCCL_VERSION_MATCHED compile_result ${PROJECT_BINARY_DIR} ${file} + RUN_OUTPUT_VARIABLE NCCL_VERSION_FROM_HEADER + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${NCCL_INCLUDE_DIRS}" + LINK_LIBRARIES ${NCCL_LIBRARIES}) + if (NOT NCCL_VERSION_MATCHED) + message(FATAL_ERROR "Found NCCL header version and library version do not match! \ +(include: ${NCCL_INCLUDE_DIRS}, library: ${NCCL_LIBRARIES}) Please set NCCL_INCLUDE_DIR and NCCL_LIB_DIR manually.") + endif() + message(STATUS "NCCL version: ${NCCL_VERSION_FROM_HEADER}") + else() + # message(STATUS "NCCL version < 2.3.5-5") + endif () + set (CMAKE_REQUIRED_INCLUDES ${OLD_CMAKE_REQUIRED_INCLUDES}) + + message(STATUS "Found NCCL (include: ${NCCL_INCLUDE_DIRS}, library: ${NCCL_LIBRARIES})") + mark_as_advanced(NCCL_ROOT_DIR NCCL_INCLUDE_DIRS NCCL_LIBRARIES) +endif() diff --git a/examples/BMTrain/csrc/bind.cpp b/examples/BMTrain/csrc/bind.cpp new file mode 100644 index 00000000..b8f6fa85 --- /dev/null +++ b/examples/BMTrain/csrc/bind.cpp @@ -0,0 +1,35 @@ +#include "include/bind.hpp" + +PYBIND11_MODULE(C, m) { + m.def("to_fp16_from_fp32", &fp16_from_fp32_value_launcher, "convert"); + m.def("to_bf16_from_fp32", &bf16_from_fp32_value_launcher, "convert"); + m.def("is_bf16_supported", &is_bf16_supported, "whether bf16 supported"); + m.def("has_nan_inf_fp16_launcher", &has_nan_inf_fp16_launcher, "has nan inf"); + m.def("has_nan_inf_bf16_launcher", &has_nan_inf_bf16_launcher, "has nan inf bf16"); + m.def("adam_fp16_launcher", &adam_fp16_launcher, "adam function cpu"); + m.def("adam_bf16_launcher", &adam_bf16_launcher, "adam function cpu"); + m.def("adam_cpu_fp16_launcher", &adam_cpu_fp16_launcher, "adam function cpu"); + m.def("adam_cpu_bf16_launcher", &adam_cpu_bf16_launcher, "adam function cpu"); + m.def("cross_entropy_forward_fp16_launcher", &cross_entropy_forward_fp16_launcher, "cross entropy forward"); + m.def("cross_entropy_forward_bf16_launcher", &cross_entropy_forward_bf16_launcher, "cross entropy forward"); + m.def("cross_entropy_backward_inplace_fp16_launcher", &cross_entropy_backward_inplace_fp16_launcher, "cross entropy backward inplace"); + m.def("cross_entropy_backward_inplace_bf16_launcher", &cross_entropy_backward_inplace_bf16_launcher, "cross entropy backward inplace"); + m.def("fused_sumexp_fp16_launcher", &fused_sumexp_fp16_launcher, "sum exp"); + m.def("fused_sumexp_bf16_launcher", &fused_sumexp_bf16_launcher, "sum exp"); + m.def("fused_softmax_inplace_fp16_launcher", &fused_softmax_inplace_fp16_launcher, "softmax inplace"); + m.def("fused_softmax_inplace_bf16_launcher", &fused_softmax_inplace_bf16_launcher, "softmax inplace"); + m.def("ncclGetUniqueId", &pyNCCLGetUniqueID, "nccl get unique ID"); + m.def("ncclCommInitRank", &pyNCCLCommInitRank, "nccl init rank"); + m.def("ncclCommDestroy", &pyNCCLCommDestroy, "nccl delete rank"); + m.def("ncclAllGather", &pyNCCLAllGather, "nccl all gather"); + m.def("ncclAllReduce", &pyNCCLAllReduce, "nccl all reduce"); + m.def("ncclBroadcast", &pyNCCLBroadcast, "nccl broadcast"); + m.def("ncclReduce", &pyNCCLReduce, "nccl reduce"); + m.def("ncclReduceScatter", &pyNCCLReduceScatter, "nccl reduce scatter"); + m.def("ncclGroupStart", &pyNCCLGroupStart, "nccl group start"); + m.def("ncclGroupEnd", &pyNCCLGroupEnd, "nccl group end"); + m.def("ncclSend", &pyNCCLSend, "nccl send"); + m.def("ncclRecv", &pyNCCLRecv, "nccl recv"); + m.def("ncclCommCount", &pyNCCLCommCount, "nccl comm count"); + m.def("ncclCommUserRank", &pyNCCLCommUserRank, "nccl comm user rank"); +} diff --git a/examples/BMTrain/csrc/cuda/adam_cuda.cu b/examples/BMTrain/csrc/cuda/adam_cuda.cu new file mode 100644 index 00000000..0510ac12 --- /dev/null +++ b/examples/BMTrain/csrc/cuda/adam_cuda.cu @@ -0,0 +1,126 @@ +#include <cstdint> +#include <cuda.h> +#include <cuda_fp16.h> +#include "bfloat16.cuh" + +namespace { +// blocks <n // 1024>, threads<min(n, 1024)> +__global__ void adam_fp32_accum( + int32_t n, + const half *g, // (n) + half *m, // (n) + float *v, // (n) + float *param, // (n) + half *param_h, // (n) + float beta1, + float beta2, + float eps, + float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +) { + int32_t col = blockIdx.x * blockDim.x + threadIdx.x; + if (col < n) { + float local_g = __half2float(g[col]); // real_g * scale + float local_m = beta1 * __half2float(m[col]) + (1 - beta1) * local_g; // real_m * scale + float local_v = beta2 * v[col] + (1 - beta2) * local_g * local_g / scale; // real_v * scale + float local_p = param[col]; + local_p = local_p - lr * local_m / bias_correction1 / (sqrtf(local_v * scale / bias_correction2) + eps * scale) - lr * weight_decay * local_p; + + param_h[col] = __float2half(local_p); + param[col] = local_p; + v[col] = local_v; + m[col] = __float2half(local_m); + } +} + +__global__ void adam_fp32_accum_bf16( + int32_t n, + const std::uintptr_t g_ptr, // (n) + float *m, // (n) + float *v, // (n) + float *param, // (n) + std::uintptr_t param_h_ptr, // (n) + float beta1, + float beta2, + float eps, + float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +) { +#ifdef BF16_SUPPORT + const __nv_bfloat16* g = reinterpret_cast<const __nv_bfloat16*>(g_ptr); + __nv_bfloat16* param_h = reinterpret_cast<__nv_bfloat16*>(param_h_ptr); + int32_t col = blockIdx.x * blockDim.x + threadIdx.x; + if (col < n) { + float local_g = __bfloat162float(g[col]) / scale; // real_g + float local_m = beta1 * m[col] + (1 - beta1) * local_g; // real_m + float local_v = beta2 * v[col] + (1 - beta2) * local_g * local_g; // real_v + float local_p = param[col]; + local_p = local_p - lr * local_m / bias_correction1 / (sqrtf(local_v / bias_correction2) + eps) - lr * weight_decay * local_p; + + param_h[col] = __float2bfloat16(local_p); + param[col] = local_p; + v[col] = local_v; + m[col] = local_m; + } +#endif +} + +} + +void adam_fp16_launcher( + int n, + std::uintptr_t param_fp32, + std::uintptr_t param_fp16, + std::uintptr_t g_fp16, + std::uintptr_t m_fp16, + std::uintptr_t v_fp32, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2, + uintptr_t stream +) { + if (n <= 0) return; + auto g_ptr = reinterpret_cast<half*>(g_fp16); + auto m_ptr = reinterpret_cast<half*>(m_fp16); + auto param_h_ptr = reinterpret_cast<half*>(param_fp16); + auto param_fp32_ptr = reinterpret_cast<float*>(param_fp32); + auto v_fp32_ptr = reinterpret_cast<float*>(v_fp32); + int32_t threads = 1024; + dim3 block_size = dim3(threads, 1, 1); + dim3 grid_size = dim3((n + threads - 1) / threads, 1, 1); + adam_fp32_accum<<<grid_size, block_size, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, g_ptr, m_ptr, v_fp32_ptr, param_fp32_ptr, param_h_ptr, beta1, beta2, eps, lr, scale, weight_decay, bias_correction1, bias_correction2); +} + +void adam_bf16_launcher( + int n, + std::uintptr_t param_fp32, + std::uintptr_t param_bf16, + std::uintptr_t g_bf16, + std::uintptr_t m_fp32, + std::uintptr_t v_fp32, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2, + uintptr_t stream +) { + if (n <= 0) return; + auto m_ptr = reinterpret_cast<float*>(m_fp32); + auto param_fp32_ptr = reinterpret_cast<float*>(param_fp32); + auto v_fp32_ptr = reinterpret_cast<float*>(v_fp32); + int32_t threads = 1024; + dim3 block_size = dim3(threads, 1, 1); + dim3 grid_size = dim3((n + threads - 1) / threads, 1, 1); + adam_fp32_accum_bf16<<<grid_size, block_size, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, g_bf16, m_ptr, v_fp32_ptr, param_fp32_ptr, param_bf16, beta1, beta2, eps, lr, scale, weight_decay, bias_correction1, bias_correction2); +} diff --git a/examples/BMTrain/csrc/cuda/bfloat16.cuh b/examples/BMTrain/csrc/cuda/bfloat16.cuh new file mode 100644 index 00000000..564d8bec --- /dev/null +++ b/examples/BMTrain/csrc/cuda/bfloat16.cuh @@ -0,0 +1,5 @@ +#include <cuda.h> +#if defined(__CUDACC__) && CUDA_VERSION >= 11000 +#include <cuda_bf16.h> +#define BF16_SUPPORT +#endif \ No newline at end of file diff --git a/examples/BMTrain/csrc/cuda/cross_entropy.cu b/examples/BMTrain/csrc/cuda/cross_entropy.cu new file mode 100644 index 00000000..177c3b77 --- /dev/null +++ b/examples/BMTrain/csrc/cuda/cross_entropy.cu @@ -0,0 +1,315 @@ +#include "reduce.cuh" +#include <cstdint> +#include <cuda.h> +#include <cuda_fp16.h> +#include "bfloat16.cuh" + +namespace { +// blocks <m>, threads<1024> +__global__ void cross_entropy_forward_fp16( + int64_t n, + const half *input, // (m, n) + const int32_t *target, // (m) + half *softmax, // (m, n) + float *output, // (m) + int32_t ignore_index +) { + int64_t base_idx = blockIdx.x * n; + + float local_max = -INFINITY; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + local_max = fmaxf(__half2float(input[base_idx + i]), local_max); + } + + local_max = fmaxf(block_allreduce_max(local_max), -1e6); + + float local_sum = 0; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + local_sum += expf(__half2float(input[base_idx + i]) - local_max); + } + local_sum = block_allreduce_sum(local_sum) + 1e-10; // avoid nan + + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + softmax[base_idx + i] = __float2half( expf(__half2float(input[base_idx + i]) - local_max) / local_sum ); + } + + if (threadIdx.x == 0) { + if (target[blockIdx.x] != ignore_index) { + output[blockIdx.x] = -__half2float(input[base_idx + target[blockIdx.x]]) + local_max + logf(local_sum); + } else { + output[blockIdx.x] = 0; + } + } +} + +// blocks <m>, threads<1024> +__global__ void cross_entropy_backward_inplace_fp16( + int64_t n, + const float *grad_output, // (m) + const int32_t *target, // (m) + half *x, // (m, n) + int32_t ignore_index +) { + int64_t base_idx = blockIdx.x * n; + + int32_t t = target[blockIdx.x]; + float v = grad_output[blockIdx.x]; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + x[base_idx + i] = __float2half(i==t ? (__half2float(x[base_idx + i])-1)*v : __half2float(x[base_idx + i])*v); + } +} + +// blocks <m>, threads<1024> +__global__ void cross_entropy_forward_bf16( + int64_t n, + const std::uintptr_t input_ptr, // (m, n) + const int32_t *target, // (m) + std::uintptr_t softmax_ptr, // (m, n) + float *output, // (m) + int32_t ignore_index +) { +#ifdef BF16_SUPPORT + const __nv_bfloat16* input = reinterpret_cast<const __nv_bfloat16*>(input_ptr); + __nv_bfloat16* softmax = reinterpret_cast<__nv_bfloat16*>(softmax_ptr); + int64_t base_idx = blockIdx.x * n; + + float local_max = -INFINITY; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + local_max = fmaxf(__bfloat162float(input[base_idx + i]), local_max); + } + + local_max = fmaxf(block_allreduce_max(local_max), -1e6); + + float local_sum = 0; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + local_sum += expf(__bfloat162float(input[base_idx + i]) - local_max); + } + local_sum = block_allreduce_sum(local_sum) + 1e-10; // avoid nan + + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + softmax[base_idx + i] = __float2bfloat16( expf(__bfloat162float(input[base_idx + i]) - local_max) / local_sum ); + } + + if (threadIdx.x == 0) { + if (target[blockIdx.x] != ignore_index) { + output[blockIdx.x] = -__bfloat162float(input[base_idx + target[blockIdx.x]]) + local_max + logf(local_sum); + } else { + output[blockIdx.x] = 0; + } + } +#endif +} + +// blocks <m>, threads<1024> +__global__ void cross_entropy_backward_inplace_bf16( + int64_t n, + const float *grad_output, // (m) + const int32_t *target, // (m) + std::uintptr_t x_ptr, // (m, n) + int32_t ignore_index +) { +#ifdef BF16_SUPPORT + __nv_bfloat16* x = reinterpret_cast<__nv_bfloat16*>(x_ptr); + int64_t base_idx = blockIdx.x * n; + + int32_t t = target[blockIdx.x]; + float v = grad_output[blockIdx.x]; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + x[base_idx + i] = __float2bfloat16(i==t ? (__bfloat162float(x[base_idx + i])-1)*v : __bfloat162float(x[base_idx + i])*v); + } +#endif +} + +// blocks <m>, threads<1024> +__global__ void fused_sumexp_fp16( + int64_t n, + const half *input, // (m, n) + const float *global_max, // (m) + float *global_sum // (m) +) { + int64_t base_idx = blockIdx.x * n; + float local_max = global_max[blockIdx.x]; + + float local_sum = 0; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + local_sum += expf(__half2float(input[base_idx + i]) - local_max); + } + local_sum = block_allreduce_sum(local_sum); + if (threadIdx.x == 0) { + global_sum[blockIdx.x] = local_sum; + } +} + +// blocks <m>, threads<1024> +__global__ void fused_sumexp_bf16( + int64_t n, + const std::uintptr_t input_ptr, // (m, n) + const float *global_max, // (m) + float *global_sum // (m) +) { +#ifdef BF16_SUPPORT + const __nv_bfloat16* input = reinterpret_cast<const __nv_bfloat16*>(input_ptr); + int64_t base_idx = blockIdx.x * n; + float local_max = global_max[blockIdx.x]; + + float local_sum = 0; + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + local_sum += expf(__bfloat162float(input[base_idx + i]) - local_max); + } + local_sum = block_allreduce_sum(local_sum); + if (threadIdx.x == 0) { + global_sum[blockIdx.x] = local_sum; + } +#endif +} + +// blocks <m>, threads<1024> +__global__ void fused_softmax_inplace_fp16( + int64_t n, + half *softmax, // (m, n) + const float *global_max, // (m) + const float *global_sum // (m) +) { + int64_t base_idx = blockIdx.x * n; + float local_max = global_max[blockIdx.x]; + float local_sum = global_sum[blockIdx.x]; + + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + softmax[base_idx + i] = __float2half( expf(__half2float(softmax[base_idx + i]) - local_max) / local_sum ); + } +} + +// blocks <m>, threads<1024> +__global__ void fused_softmax_inplace_bf16( + int64_t n, + std::uintptr_t softmax_ptr, // (m, n) + const float *global_max, // (m) + const float *global_sum // (m) +) { +#ifdef BF16_SUPPORT + __nv_bfloat16* softmax = reinterpret_cast<__nv_bfloat16*>(softmax_ptr); + int64_t base_idx = blockIdx.x * n; + float local_max = global_max[blockIdx.x]; + float local_sum = global_sum[blockIdx.x]; + + for (int64_t i = threadIdx.x; i < n; i += blockDim.x) { + softmax[base_idx + i] = __float2bfloat16( expf(__bfloat162float(softmax[base_idx + i]) - local_max) / local_sum ); + } +#endif +} +} + +void cross_entropy_forward_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t input, + std::uintptr_t target, + std::uintptr_t softmax, + std::uintptr_t output, + int32_t ignore_index, + std::uintptr_t stream +) { + auto input_ptr = reinterpret_cast<half*>(input); + auto target_ptr = reinterpret_cast<int32_t*>(target); + auto softmax_ptr = reinterpret_cast<half*>(softmax); + auto output_ptr = reinterpret_cast<float*>(output); + int32_t threads = 1024; + cross_entropy_forward_fp16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, input_ptr, target_ptr, softmax_ptr, output_ptr, ignore_index); +} + +void cross_entropy_backward_inplace_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t grad_output, + std::uintptr_t target, + std::uintptr_t x, + int32_t ignore_index, + std::uintptr_t stream +) { + auto output_ptr = reinterpret_cast<float*>(grad_output); + auto target_ptr = reinterpret_cast<int32_t*>(target); + auto x_ptr = reinterpret_cast<half*>(x); + int32_t threads = 1024; + cross_entropy_backward_inplace_fp16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, output_ptr, target_ptr, x_ptr, ignore_index); +} + +void cross_entropy_forward_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t input, + std::uintptr_t target, + std::uintptr_t softmax, + std::uintptr_t output, + int32_t ignore_index, + std::uintptr_t stream +) { + auto target_ptr = reinterpret_cast<int32_t*>(target); + auto output_ptr = reinterpret_cast<float*>(output); + int32_t threads = 1024; + cross_entropy_forward_bf16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, input, target_ptr, softmax, output_ptr, ignore_index); +} + +void cross_entropy_backward_inplace_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t grad_output, + std::uintptr_t target, + std::uintptr_t x, + int32_t ignore_index, + std::uintptr_t stream +) { + auto output_ptr = reinterpret_cast<float*>(grad_output); + auto target_ptr = reinterpret_cast<int32_t*>(target); + int32_t threads = 1024; + cross_entropy_backward_inplace_bf16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, output_ptr, target_ptr, x, ignore_index); +} + +void fused_sumexp_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +) { + auto logits_ptr = reinterpret_cast<half*>(logits); + auto max_logits_ptr = reinterpret_cast<float*>(max_logits); + auto sum_exp_logits_ptr = reinterpret_cast<float*>(sum_exp_logits); + int32_t threads = 1024; + fused_sumexp_fp16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, logits_ptr, max_logits_ptr, sum_exp_logits_ptr); +} + +void fused_sumexp_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +) { + auto max_logits_ptr = reinterpret_cast<float*>(max_logits); + auto sum_exp_logits_ptr = reinterpret_cast<float*>(sum_exp_logits); + int32_t threads = 1024; + fused_sumexp_bf16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, logits, max_logits_ptr, sum_exp_logits_ptr); +} + +void fused_softmax_inplace_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +) { + auto logits_ptr = reinterpret_cast<half*>(logits); + auto max_logits_ptr = reinterpret_cast<float*>(max_logits); + auto sum_exp_logits_ptr = reinterpret_cast<float*>(sum_exp_logits); + int32_t threads = 1024; + fused_softmax_inplace_fp16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, logits_ptr, max_logits_ptr, sum_exp_logits_ptr); +} + +void fused_softmax_inplace_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +) { + auto max_logits_ptr = reinterpret_cast<float*>(max_logits); + auto sum_exp_logits_ptr = reinterpret_cast<float*>(sum_exp_logits); + int32_t threads = 1024; + fused_softmax_inplace_bf16<<<m, threads, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, logits, max_logits_ptr, sum_exp_logits_ptr); +} \ No newline at end of file diff --git a/examples/BMTrain/csrc/cuda/has_inf_nan.cu b/examples/BMTrain/csrc/cuda/has_inf_nan.cu new file mode 100644 index 00000000..32bc5a5f --- /dev/null +++ b/examples/BMTrain/csrc/cuda/has_inf_nan.cu @@ -0,0 +1,145 @@ +#include <cstdint> +#include <cstdio> +#include <cuda.h> +#include <cuda_fp16.h> +#include "bfloat16.cuh" + +namespace{ +__inline__ __device__ bool isnan_(half v) { + #if __CUDA_ARCH__ >= 700 || __CUDA_ARCH__ == 600 + return __hisnan(v); + #else + return !__heq(v, v); + #endif +} + +__inline__ __device__ int8_t warpReduceAny(int8_t x) { + for (int offset = warpSize/2; offset > 0; offset /= 2) + x |= __shfl_down_sync(0xFFFFFFFF, x, offset); + return x; +} + +__inline__ __device__ float blockReduceAny(int8_t x) { + static __shared__ float shared[32]; + int lane = threadIdx.x % warpSize; + int wid = threadIdx.x / warpSize; + x = warpReduceAny(x); + if (lane == 0) shared[wid] = x; + __syncthreads(); + x = (threadIdx.x < blockDim.x / warpSize) ? shared[lane] : 0; + if (wid == 0) x = warpReduceAny(x); + return x; +} + +// grid <min(ceil(n/1024), 1024)>, thread<1024> +__global__ void bmt_has_nan_inf_fp16( + int32_t n, + const half* inp, // (n,) + uint8_t* mid // (1024,) +) { + int32_t gid = blockIdx.x * blockDim.x + threadIdx.x; + int32_t span = blockDim.x * gridDim.x; + + int8_t r = 0; + for (int i = gid; i < n; i += span) { + half v = inp[i]; + if (__hisinf(v) || isnan_(v)) { + r = 1; + break; + } + } + r = blockReduceAny(r); + if (threadIdx.x == 0) { + mid[blockIdx.x] = r; + } +} + +// grid <1>, thread<1024> +__global__ void bmt_has_nan_inf_reduce( + const uint8_t* mid, // (1024,) + uint8_t* out +) { + int tid = threadIdx.x; + int8_t r = blockReduceAny(mid[tid]); + if (tid == 0 && r > 0) { + out[0] = 1; + } +} + +// grid <min(ceil(n/1024), 1024)>, thread<1024> +__global__ void bmt_has_nan_inf_bf16( + int32_t n, + const uintptr_t inp, // (n,) + uint8_t* mid // (1024,) +) { +#ifdef BF16_SUPPORT + const __nv_bfloat16* bf_inp = reinterpret_cast<const __nv_bfloat16*>(inp); + int32_t gid = blockIdx.x * blockDim.x + threadIdx.x; + int32_t span = blockDim.x * gridDim.x; + + int8_t r = 0; + for (int i = gid; i < n; i += span) { + __nv_bfloat16 v = bf_inp[i]; + #if __CUDA_ARCH__ >= 800 + if (__hisinf(v) || __hisnan(v)) { + #else + if (isinf(__bfloat162float(v)) || isnan(__bfloat162float(v))) { + #endif + r = 1; + break; + } + } + r = blockReduceAny(r); + if (threadIdx.x == 0) { + mid[blockIdx.x] = r; + } +#endif +} + +} + +void has_nan_inf_fp16_launcher( + int32_t n, + std::uintptr_t g_fp16, + std::uintptr_t mid, + std::uintptr_t out, + std::uintptr_t stream +) { + if (n <= 0) return; + auto g_ptr = reinterpret_cast<half*>(g_fp16); + auto mid_ptr = reinterpret_cast<uint8_t*>(mid); + auto out_ptr = reinterpret_cast<uint8_t*>(out); + int32_t threads = 1024; + dim3 block_size = dim3(threads, 1, 1); + dim3 grid_size = dim3((n + threads - 1) / threads, 1, 1); + dim3 clamp_grid_size = dim3(min((n + threads - 1) / threads, 1024), 1, 1); + + bmt_has_nan_inf_fp16<<<clamp_grid_size, block_size, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, g_ptr, mid_ptr); + bmt_has_nan_inf_reduce<<<1, block_size, 0, reinterpret_cast<cudaStream_t>(stream)>>>(mid_ptr, out_ptr); +} + +void has_nan_inf_bf16_launcher( + int32_t n, + std::uintptr_t g_bf16, + std::uintptr_t mid, + std::uintptr_t out, + std::uintptr_t stream +) { + if (n <= 0) return; + auto mid_ptr = reinterpret_cast<uint8_t*>(mid); + auto out_ptr = reinterpret_cast<uint8_t*>(out); + int32_t threads = 1024; + dim3 block_size = dim3(threads, 1, 1); + dim3 grid_size = dim3((n + threads - 1) / threads, 1, 1); + dim3 clamp_grid_size = dim3(min((n + threads - 1) / threads, 1024), 1, 1); + + bmt_has_nan_inf_bf16<<<clamp_grid_size, block_size, 0, reinterpret_cast<cudaStream_t>(stream)>>>(n, g_bf16, mid_ptr); + bmt_has_nan_inf_reduce<<<1, block_size, 0, reinterpret_cast<cudaStream_t>(stream)>>>(mid_ptr, out_ptr); +} + +int is_bf16_supported() { +#ifdef BF16_SUPPORT + return 1; +#endif + return 0; +} \ No newline at end of file diff --git a/examples/BMTrain/csrc/cuda/reduce.cuh b/examples/BMTrain/csrc/cuda/reduce.cuh new file mode 100644 index 00000000..a9c4c15b --- /dev/null +++ b/examples/BMTrain/csrc/cuda/reduce.cuh @@ -0,0 +1,114 @@ +namespace { +const int WARP_SZ = 32; + +// blocks <block_size>, threads<1024> +__device__ float block_reduce_sum(float val) { + static __shared__ float s_x[WARP_SZ]; + // int gid = threadIdx.x + blockIdx.x * blockDim.x; + int tid = threadIdx.x; + int lid = threadIdx.x % WARP_SZ; + int wid = threadIdx.x / WARP_SZ; + + // reduce intra warp + + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val += __shfl_down_sync(0xFFFFFFFF, val, offset); + + if (lid == 0) s_x[wid] = val; + __syncthreads(); + + // reduce inter warp + val = (tid < WARP_SZ) ? s_x[lid] : 0; + if (wid == 0) { + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val += __shfl_down_sync(0xFFFFFFFF, val, offset); + } + return val; +} + +// blocks <block_size>, threads<1024> +__device__ float block_reduce_max(float val) { + static __shared__ float s_x[WARP_SZ]; + // int gid = threadIdx.x + blockIdx.x * blockDim.x; + int tid = threadIdx.x; + int lid = threadIdx.x % WARP_SZ; + int wid = threadIdx.x / WARP_SZ; + + // reduce intra warp + + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val = fmaxf(val, __shfl_down_sync(0xFFFFFFFF, val, offset)); + + if (lid == 0) s_x[wid] = val; + __syncthreads(); + + // reduce inter warp + val = (tid < WARP_SZ) ? s_x[lid] : -INFINITY; + if (wid == 0) { + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val = fmaxf(val, __shfl_down_sync(0xFFFFFFFF, val, offset)); + } + return val; +} + +// blocks <block_size>, threads<1024> +__device__ float block_allreduce_sum(float val) { + static __shared__ float s_x[WARP_SZ]; + // int gid = threadIdx.x + blockIdx.x * blockDim.x; + int tid = threadIdx.x; + int lid = threadIdx.x % WARP_SZ; + int wid = threadIdx.x / WARP_SZ; + + // reduce intra warp + + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val += __shfl_down_sync(0xFFFFFFFF, val, offset); + + if (lid == 0) s_x[wid] = val; + __syncthreads(); + + // reduce inter warp + val = (tid < WARP_SZ) ? s_x[lid] : 0; + if (wid == 0) { + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val += __shfl_down_sync(0xFFFFFFFF, val, offset); + } + + if (tid == 0) { + s_x[0] = val; + } + __syncthreads(); + return s_x[0]; +} + +// blocks <block_size>, threads<1024> +__device__ float block_allreduce_max(float val) { + static __shared__ float s_x[WARP_SZ]; + // int gid = threadIdx.x + blockIdx.x * blockDim.x; + int tid = threadIdx.x; + int lid = threadIdx.x % WARP_SZ; + int wid = threadIdx.x / WARP_SZ; + + // reduce intra warp + + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val = fmaxf(val, __shfl_down_sync(0xFFFFFFFF, val, offset)); + + if (lid == 0) s_x[wid] = val; + __syncthreads(); + + // reduce inter warp + val = (tid < WARP_SZ) ? s_x[lid] : -INFINITY; + if (wid == 0) { + for (int offset = WARP_SZ/2; offset > 0; offset >>= 1) + val = fmaxf(val, __shfl_down_sync(0xFFFFFFFF, val, offset)); + } + + if (tid == 0) { + s_x[0] = val; + } + __syncthreads(); + return s_x[0]; +} + +} \ No newline at end of file diff --git a/examples/BMTrain/csrc/include/adam_cpu.hpp b/examples/BMTrain/csrc/include/adam_cpu.hpp new file mode 100644 index 00000000..52575d69 --- /dev/null +++ b/examples/BMTrain/csrc/include/adam_cpu.hpp @@ -0,0 +1,557 @@ +#include <emmintrin.h> +#include <immintrin.h> +#include <cmath> +#include <cstdint> +#include <sched.h> +#include <pybind11/pybind11.h> +#include <iostream> +#include <mutex> +#include <vector> +#include <thread> +#include <algorithm> +#include "cpu_info.h" +#define CHECK_CONTIGUOUS(x) AT_ASSERTM(x.is_contiguous(), #x " must be contiguous") + +static inline float _mm256_reduce_add_ps(__m256 x) { + /* ( x3+x7, x2+x6, x1+x5, x0+x4 ) */ + const __m128 x128 = _mm_add_ps(_mm256_extractf128_ps(x, 1), _mm256_castps256_ps128(x)); + /* ( -, -, x1+x3+x5+x7, x0+x2+x4+x6 ) */ + const __m128 x64 = _mm_add_ps(x128, _mm_movehl_ps(x128, x128)); + /* ( -, -, -, x0+x1+x2+x3+x4+x5+x6+x7 ) */ + const __m128 x32 = _mm_add_ss(x64, _mm_shuffle_ps(x64, x64, 0x55)); + /* Conversion to float is a no-op on x86-64 */ + return _mm_cvtss_f32(x32); +} + +inline float fp32_from_bits(uint32_t w) { + union { + uint32_t as_bits; + float as_value; + } fp32 = {w}; + return fp32.as_value; +} + +inline uint32_t fp32_to_bits(float f) { + union { + float as_value; + uint32_t as_bits; + } fp32 = {f}; + return fp32.as_bits; +} + +template <class F> +inline void parallel_for(int64_t begin, int64_t end, int64_t grain_size, const F& f) { + // Number of iterations + int64_t numiter = end - begin; + + // Number of threads to use + int64_t num_threads = 1; // Default to serial execution + + if (grain_size > 0) { + num_threads = std::max((numiter+grain_size-1) / grain_size, static_cast<int64_t>(1)); + } + else{ + cpu_set_t cpu_set; + CPU_ZERO(&cpu_set); + sched_getaffinity(0, sizeof(cpu_set), &cpu_set); + num_threads = CPU_COUNT(&cpu_set); + grain_size = std::max((numiter+num_threads-1) / num_threads, static_cast<int64_t>(1)); + + } + + // Check if parallel execution is feasible + if (num_threads > 1) { + py::gil_scoped_release release; // Release the GIL + std::vector<std::thread> threads(num_threads); + for (int64_t t = 0; t < num_threads; ++t) { + threads[t] = std::thread([&, t]() { + int64_t left = std::min(begin + t * grain_size, end); + int64_t right = std::min(begin + (t + 1) * grain_size, end); + f(left, right); + }); + } + for (auto& thread : threads) { + thread.join(); + } + } else { + // If not feasible or grain_size is 0, perform the operation serially + f(begin, end); + } +} + +// fp32 -> fp16 +inline uint16_t fp16_ieee_from_fp32_value(float f) { + // const float scale_to_inf = 0x1.0p+112f; + // const float scale_to_zero = 0x1.0p-110f; + uint32_t scale_to_inf_bits = (uint32_t) 239 << 23; + uint32_t scale_to_zero_bits = (uint32_t) 17 << 23; + float scale_to_inf_val, scale_to_zero_val; + std::memcpy(&scale_to_inf_val, &scale_to_inf_bits, sizeof(scale_to_inf_val)); + std::memcpy(&scale_to_zero_val, &scale_to_zero_bits, sizeof(scale_to_zero_val)); + const float scale_to_inf = scale_to_inf_val; + const float scale_to_zero = scale_to_zero_val; + + float base = (fabsf(f) * scale_to_inf) * scale_to_zero; + + const uint32_t w = (uint32_t)fp32_to_bits(f); + const uint32_t shl1_w = w + w; + const uint32_t sign = w & UINT32_C(0x80000000); + uint32_t bias = shl1_w & UINT32_C(0xFF000000); + if (bias < UINT32_C(0x71000000)) { + bias = UINT32_C(0x71000000); + } + + base = fp32_from_bits((bias >> 1) + UINT32_C(0x07800000)) + base; + const uint32_t bits = (uint32_t)fp32_to_bits(base); + const uint32_t exp_bits = (bits >> 13) & UINT32_C(0x00007C00); + const uint32_t mantissa_bits = bits & UINT32_C(0x00000FFF); + const uint32_t nonsign = exp_bits + mantissa_bits; + return static_cast<uint16_t>( + (sign >> 16) | (shl1_w > UINT32_C(0xFF000000) ? UINT16_C(0x7E00) : nonsign) + ); +} + +// fp16 -> fp32 +inline float fp16_ieee_to_fp32_value(uint16_t h) { + const uint32_t w = (uint32_t)h << 16; + const uint32_t sign = w & UINT32_C(0x80000000); + const uint32_t two_w = w + w; + + const uint32_t exp_offset = UINT32_C(0xE0) << 23; + const float exp_scale = 0x1.0p-112f; + const float normalized_value = fp32_from_bits((two_w >> 4) + exp_offset) * exp_scale; + + const uint32_t magic_mask = UINT32_C(126) << 23; + const float magic_bias = 0.5f; + const float denormalized_value = fp32_from_bits((two_w >> 17) | magic_mask) - magic_bias; + + const uint32_t denormalized_cutoff = UINT32_C(1) << 27; + const uint32_t result = + sign | (two_w < denormalized_cutoff ? fp32_to_bits(denormalized_value) + : fp32_to_bits(normalized_value)); + return fp32_from_bits(result); +} + +inline uint16_t bf16_from_fp32_value(float f){ + return *reinterpret_cast<uint32_t*>(&f) >> 16; +} +// fp32 -> bf16 +void bf16_from_fp32_value_launcher( + int64_t n, + std::uintptr_t param_fp32, + std::uintptr_t param_bf16 +){ + int span = 1; + auto param_fp32_ptr = reinterpret_cast<float*>(param_fp32); + auto param_bf16_ptr = reinterpret_cast<uint16_t*>(param_bf16); + parallel_for(0, n, 0, [&](int64_t start, int64_t end) { + for (int64_t j = start; j < end; j += span) { + for (int64_t i = j; i < end; i++) { + float p = param_fp32_ptr[i]; + param_bf16_ptr[i] = bf16_from_fp32_value(p); + } + break; // must break here + } + }); +} + +void fp16_from_fp32_value_launcher( + int64_t n, + std::uintptr_t param_fp32, + std::uintptr_t param_fp16 +){ + int span = 1; + auto param_fp32_ptr = reinterpret_cast<float*>(param_fp32); + auto param_fp16_ptr = reinterpret_cast<uint16_t*>(param_fp16); + parallel_for(0, n, 0, [&](int64_t start, int64_t end) { + for (int64_t j = start; j < end; j += span) { + for (int64_t i = j; i < end; i++) { + float p = param_fp32_ptr[i]; + param_fp16_ptr[i] = fp16_ieee_from_fp32_value(p); + } + break; // must break here + } + }); +} +// bf16 -> fp32 +inline float bf16_to_fp32_value(uint16_t h){ + uint32_t src = h; + src <<= 16; + return *reinterpret_cast<float*>(&src); +} + +void adam_cpu_0( + int64_t n, + float* param_fp32_ptr, + uint16_t* param_fp16_ptr, + float* delta_info_ptr, + uint16_t* g_fp16_ptr, + float* m_fp32_ptr, + float* v_fp32_ptr, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +){ + int64_t span = 1; + float sum_sq_delta = 0; + float sum_delta = 0; + std::mutex delta_mutex; + parallel_for(0, n, 0, [&](int64_t start, int64_t end) { + float sum_sq_delta_i = 0; + float sum_delta_i = 0; + for (int64_t j = start; j < end; j += span) { + for (int64_t i = j; i < end; i++) { + float g = fp16_ieee_to_fp32_value(g_fp16_ptr[i]) / scale; + float m = m_fp32_ptr[i]; + float v = v_fp32_ptr[i]; + float p = param_fp32_ptr[i]; + m = beta1 * m + (1 - beta1) * g; + v = beta2 * v + (1 - beta2) * g * g; + if (delta_info_ptr != NULL){ + float delta = m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) + weight_decay * p; + sum_delta_i += delta; + sum_sq_delta_i += delta * delta; + } + p = p - lr * m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) - lr * weight_decay * p; + param_fp32_ptr[i] = p; + param_fp16_ptr[i] = fp16_ieee_from_fp32_value(p); + m_fp32_ptr[i] = m; + v_fp32_ptr[i] = v; + } + break; // must break here + } + if (delta_info_ptr != NULL){ + delta_mutex.lock(); + sum_delta += sum_delta_i; + sum_sq_delta += sum_sq_delta_i; + delta_mutex.unlock(); + } + }); + if (delta_info_ptr != NULL){ + delta_info_ptr[0] = sum_delta / n; + delta_info_ptr[1] = sum_sq_delta / n - sum_delta * sum_delta / (n * n);// var = E(x^2) - E(x)^2 + delta_info_ptr[2] = sum_delta; + delta_info_ptr[3] = sum_sq_delta; + } +} + +void adam_cpu_bf16_0( + int64_t n, + float* param_fp32_ptr, + uint16_t* param_bf16_ptr, + float* delta_info_ptr, + uint16_t* g_bf16_ptr, + float* m_fp32_ptr, + float* v_fp32_ptr, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +){ + int64_t span = 1; + float sum_sq_delta = 0; + float sum_delta = 0; + std::mutex delta_mutex; + parallel_for(0, n, 0, [&](int64_t start, int64_t end) { + float sum_sq_delta_i = 0; + float sum_delta_i = 0; + for (int64_t j = start; j < end; j += span) { + for (int64_t i = j; i < end; i++) { + float g = bf16_to_fp32_value(g_bf16_ptr[i]) / scale; + float m = m_fp32_ptr[i]; + float v = v_fp32_ptr[i]; + float p = param_fp32_ptr[i]; + m = beta1 * m + (1 - beta1) * g; + v = beta2 * v + (1 - beta2) * g * g; + if (delta_info_ptr != NULL){ + float delta = m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) + weight_decay * p; + sum_delta_i += delta; + sum_sq_delta_i += delta * delta; + } + p = p - lr * m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) - lr * weight_decay * p; + param_fp32_ptr[i] = p; + param_bf16_ptr[i] = bf16_from_fp32_value(p); + m_fp32_ptr[i] = m; + v_fp32_ptr[i] = v; + } + break; // must break here + } + if (delta_info_ptr != NULL){ + delta_mutex.lock(); + sum_delta += sum_delta_i; + sum_sq_delta += sum_sq_delta_i; + delta_mutex.unlock(); + } + }); + if (delta_info_ptr != NULL){ + delta_info_ptr[0] = sum_delta / n; + delta_info_ptr[1] = sum_sq_delta / n - sum_delta * sum_delta / (n * n);// var = E(x^2) - E(x)^2 + delta_info_ptr[2] = sum_delta; + delta_info_ptr[3] = sum_sq_delta; + } +} + +static void __attribute__ ((__target__ ("avx,fma,f16c"))) adam_cpu_1( + int64_t n, + float* param_fp32_ptr, + uint16_t* param_fp16_ptr, + float* delta_info_ptr, + uint16_t* g_fp16_ptr, + float* m_fp32_ptr, + float* v_fp32_ptr, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +){ + float sum_sq_delta = 0; + float sum_delta = 0; + std::mutex delta_mutex; + auto avx_beta1 = _mm256_set1_ps(beta1); + auto avx_beta2 = _mm256_set1_ps(beta2); + auto avx_beta1_1 = _mm256_set1_ps(1 - beta1); + auto avx_beta2_1 = _mm256_set1_ps(1 - beta2); + auto avx_eps = _mm256_set1_ps(eps); + auto avx_neg_lr = _mm256_set1_ps(-lr); + auto avx_scale = _mm256_set1_ps(scale); + auto avx_weight_decay = _mm256_set1_ps(weight_decay); + auto avx_bias_correction1 = _mm256_set1_ps(bias_correction1); + auto avx_bias_correction2 = _mm256_set1_ps(bias_correction2); + int64_t span = 8; + parallel_for(0, n, 0, [&](int64_t start, int64_t end) { + float sum_sq_delta_i = 0; + float sum_delta_i = 0; + for (int64_t j = start; j < end; j += span) { + if (j + span > end) { + for (int64_t i = j; i < end; i++) { + float g = fp16_ieee_to_fp32_value(g_fp16_ptr[i]) / scale; + float m = m_fp32_ptr[i]; + float v = v_fp32_ptr[i]; + float p = param_fp32_ptr[i]; + m = beta1 * m + (1 - beta1) * g; + v = beta2 * v + (1 - beta2) * g * g; + if (delta_info_ptr != NULL){ + float delta = m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) + weight_decay * p; + sum_delta_i += delta; + sum_sq_delta_i += delta * delta; + } + p = p - lr * m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) - lr * weight_decay * p; + param_fp32_ptr[i] = p; + param_fp16_ptr[i] = fp16_ieee_from_fp32_value(p); + m_fp32_ptr[i] = m; + v_fp32_ptr[i] = v; + } + break; // must break here + } else { + auto g = _mm256_div_ps(_mm256_cvtph_ps(_mm_loadu_si128((const __m128i*)&g_fp16_ptr[j])), avx_scale); + auto m = _mm256_loadu_ps(&m_fp32_ptr[j]); + auto v = _mm256_loadu_ps(&v_fp32_ptr[j]); + auto p = _mm256_loadu_ps(¶m_fp32_ptr[j]); + m = _mm256_fmadd_ps(avx_beta1, m, _mm256_mul_ps(avx_beta1_1, g)); + v = _mm256_fmadd_ps(avx_beta2, v, _mm256_mul_ps(avx_beta2_1, _mm256_mul_ps(g, g))); + if (delta_info_ptr != NULL){ + auto delta_256 = _mm256_add_ps( + _mm256_div_ps( + _mm256_div_ps(m, avx_bias_correction1), // m / bias_correction1 + _mm256_add_ps(_mm256_sqrt_ps(_mm256_div_ps(v, avx_bias_correction2)), avx_eps) // sqrt(v / bias_correction2) + eps + ), // m / bias_correction1 / (sqrt(v / bias_correction2) + eps) + _mm256_mul_ps(avx_weight_decay, p) // weight_decay * p + ); // delta = m / bias_correction1 / (sqrt(v / bias_correction2) + eps) + weight_decay * p + sum_delta_i += _mm256_reduce_add_ps(delta_256); + sum_sq_delta_i += _mm256_reduce_add_ps(_mm256_mul_ps(delta_256, delta_256)); + } + p = _mm256_fmadd_ps(avx_neg_lr, _mm256_mul_ps(avx_weight_decay, p), p); // p = p - lr * weight_decay * p + p = _mm256_fmadd_ps( + avx_neg_lr, + _mm256_div_ps( + _mm256_div_ps(m, avx_bias_correction1), // m / bias_correction1 + _mm256_add_ps(_mm256_sqrt_ps(_mm256_div_ps(v, avx_bias_correction2)), avx_eps) // sqrt(v / bias_correction2) + eps + ), // m / bias_correction1 / (sqrt(v / bias_correction2) + eps) + p + ); // p = p - lr * m / bias_correction1 / (sqrt(v / bias_correction2) + eps) + _mm256_storeu_ps(¶m_fp32_ptr[j], p); + _mm_storeu_si128((__m128i*)¶m_fp16_ptr[j], _mm256_cvtps_ph(p, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC)); + _mm256_storeu_ps(&m_fp32_ptr[j], m); + _mm256_storeu_ps(&v_fp32_ptr[j], v); + } + } + if (delta_info_ptr != NULL){ + delta_mutex.lock(); + sum_delta += sum_delta_i; + sum_sq_delta += sum_sq_delta_i; + delta_mutex.unlock(); + } + }); + if (delta_info_ptr != NULL){ + delta_info_ptr[0] = sum_delta / n; + delta_info_ptr[1] = sum_sq_delta / n - sum_delta * sum_delta / (n * n);// var = E(x^2) - E(x)^2 + delta_info_ptr[2] = sum_delta; + delta_info_ptr[3] = sum_sq_delta; + } +} + +static void __attribute__ ((__target__ ("avx512f"))) adam_cpu_2( + int64_t n, + float* param_fp32_ptr, + uint16_t* param_fp16_ptr, + float* delta_info_ptr, + uint16_t* g_fp16_ptr, + float* m_fp32_ptr, + float* v_fp32_ptr, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +){ + float sum_sq_delta = 0; + float sum_delta = 0; + std::mutex delta_mutex; + auto avx_beta1 = _mm512_set1_ps(beta1); + auto avx_beta2 = _mm512_set1_ps(beta2); + auto avx_beta1_1 = _mm512_set1_ps(1 - beta1); + auto avx_beta2_1 = _mm512_set1_ps(1 - beta2); + auto avx_eps = _mm512_set1_ps(eps); + auto avx_neg_lr = _mm512_set1_ps(-lr); + auto avx_scale = _mm512_set1_ps(scale); + auto avx_weight_decay = _mm512_set1_ps(weight_decay); + auto avx_bias_correction1 = _mm512_set1_ps(bias_correction1); + auto avx_bias_correction2 = _mm512_set1_ps(bias_correction2); + int64_t span = 16; + parallel_for(0, n, 0, [&](int64_t start, int64_t end) { + float sum_sq_delta_i = 0; + float sum_delta_i = 0; + for (int64_t j = start; j < end; j += span) { + if (j + span > end) { + for (int64_t i = j; i < end; i++) { + float g = fp16_ieee_to_fp32_value(g_fp16_ptr[i]) / scale; + float m = m_fp32_ptr[i]; + float v = v_fp32_ptr[i]; + float p = param_fp32_ptr[i]; + m = beta1 * m + (1 - beta1) * g; + v = beta2 * v + (1 - beta2) * g * g; + if (delta_info_ptr != NULL){ + float delta = m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) + weight_decay * p; + sum_delta_i += delta; + sum_sq_delta_i += delta * delta; + } + p = p - lr * m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) - lr * weight_decay * p; + param_fp32_ptr[i] = p; + param_fp16_ptr[i] = fp16_ieee_from_fp32_value(p); + m_fp32_ptr[i] = m; + v_fp32_ptr[i] = v; + } + break; // must break here + }else{ + auto g = _mm512_div_ps(_mm512_cvtph_ps(_mm256_loadu_si256((const __m256i*)&g_fp16_ptr[j])), avx_scale); + auto m = _mm512_loadu_ps(&m_fp32_ptr[j]); + auto v = _mm512_loadu_ps(&v_fp32_ptr[j]); + auto p = _mm512_loadu_ps(¶m_fp32_ptr[j]); + m = _mm512_fmadd_ps(avx_beta1, m, _mm512_mul_ps(avx_beta1_1, g)); + v = _mm512_fmadd_ps(avx_beta2, v, _mm512_mul_ps(avx_beta2_1, _mm512_mul_ps(g, g))); + if (delta_info_ptr != NULL){ + auto delta_512 = _mm512_add_ps( + _mm512_div_ps( + _mm512_div_ps(m, avx_bias_correction1), // m / bias_correction1 + _mm512_add_ps(_mm512_sqrt_ps(_mm512_div_ps(v, avx_bias_correction2)), avx_eps) // sqrt(v / bias_correction2) + eps + ), // m / bias_correction1 / (sqrt(v / bias_correction2) + eps) + _mm512_mul_ps(avx_weight_decay, p) // weight_decay * p + ); // delta = m / bias_correction1 / (sqrt(v / bias_correction2) + eps) + weight_decay * p + sum_delta_i += _mm512_reduce_add_ps(delta_512); + sum_sq_delta_i += _mm512_reduce_add_ps(_mm512_mul_ps(delta_512, delta_512)); + } + p = _mm512_fmadd_ps(avx_neg_lr, _mm512_mul_ps(avx_weight_decay, p), p); // p = p - lr * weight_decay * p + p = _mm512_fmadd_ps( + avx_neg_lr, + _mm512_div_ps( + _mm512_div_ps(m, avx_bias_correction1), // m / bias_correction1 + _mm512_add_ps( + _mm512_sqrt_ps(_mm512_div_ps(v, avx_bias_correction2)), + avx_eps + ) // sqrt(v / bias_correction2) + eps + ), + p + ); // p = p - lr * m / bias_correction1 / (sqrtf(v / bias_correction2) + eps) + _mm512_storeu_ps(¶m_fp32_ptr[j], p); + _mm256_storeu_si256((__m256i*)¶m_fp16_ptr[j], _mm512_cvtps_ph(p, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC)); + _mm512_storeu_ps(&m_fp32_ptr[j], m); + _mm512_storeu_ps(&v_fp32_ptr[j], v); + } + } + if (delta_info_ptr != NULL){ + delta_mutex.lock(); + sum_delta += sum_delta_i; + sum_sq_delta += sum_sq_delta_i; + delta_mutex.unlock(); + } + }); + if (delta_info_ptr != NULL){ + delta_info_ptr[0] = sum_delta / n; + delta_info_ptr[1] = sum_sq_delta / n - sum_delta * sum_delta / (n * n);// var = E(x^2) - E(x)^2 + delta_info_ptr[2] = sum_delta; + delta_info_ptr[3] = sum_sq_delta; + } +} + +void adam_cpu_fp16_launcher( + int64_t n, + std::uintptr_t param_fp32, + std::uintptr_t param_fp16, + std::uintptr_t delta_info, + std::uintptr_t g_fp16, + std::uintptr_t m_fp32, + std::uintptr_t v_fp32, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +) { + auto delta_info_ptr = reinterpret_cast<float*>(delta_info); + auto param_fp32_ptr = reinterpret_cast<float*>(param_fp32); + auto m_fp32_ptr = reinterpret_cast<float*>(m_fp32); + auto v_fp32_ptr = reinterpret_cast<float*>(v_fp32); + auto param_fp16_ptr = reinterpret_cast<uint16_t*>(param_fp16); + auto g_fp16_ptr = reinterpret_cast<uint16_t*>(g_fp16); + int cpu_level = get_cpu_level(); + if (cpu_level == 0 ){ + adam_cpu_0(n, param_fp32_ptr, param_fp16_ptr, delta_info_ptr, g_fp16_ptr, m_fp32_ptr, v_fp32_ptr, beta1, beta2, eps, lr, scale, weight_decay, bias_correction1, bias_correction2); + }else if(cpu_level == 1){ + adam_cpu_1(n, param_fp32_ptr, param_fp16_ptr, delta_info_ptr, g_fp16_ptr, m_fp32_ptr, v_fp32_ptr, beta1, beta2, eps, lr, scale, weight_decay, bias_correction1, bias_correction2); + }else{ + adam_cpu_2(n, param_fp32_ptr, param_fp16_ptr, delta_info_ptr, g_fp16_ptr, m_fp32_ptr, v_fp32_ptr, beta1, beta2, eps, lr, scale, weight_decay, bias_correction1, bias_correction2); + } +} + +void adam_cpu_bf16_launcher( + int64_t n, + std::uintptr_t param_fp32, + std::uintptr_t param_bf16, + std::uintptr_t delta_info, + std::uintptr_t g_bf16, + std::uintptr_t m_fp32, + std::uintptr_t v_fp32, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2 +) { + auto delta_info_ptr = reinterpret_cast<float*>(delta_info); + auto m_fp32_ptr = reinterpret_cast<float*>(m_fp32); + auto v_fp32_ptr = reinterpret_cast<float*>(v_fp32); + auto param_fp32_ptr = reinterpret_cast<float*>(param_fp32); + auto param_bf16_ptr = reinterpret_cast<uint16_t*>(param_bf16); + auto g_bf16_ptr = reinterpret_cast<uint16_t*>(g_bf16); + adam_cpu_bf16_0(n, param_fp32_ptr, param_bf16_ptr, delta_info_ptr, g_bf16_ptr, m_fp32_ptr, v_fp32_ptr, beta1, beta2, eps, lr, scale, weight_decay, bias_correction1, bias_correction2); +} diff --git a/examples/BMTrain/csrc/include/bind.hpp b/examples/BMTrain/csrc/include/bind.hpp new file mode 100644 index 00000000..3ff967fd --- /dev/null +++ b/examples/BMTrain/csrc/include/bind.hpp @@ -0,0 +1,111 @@ +#include <pybind11/pybind11.h> +#include "nccl.hpp" +#include "adam_cpu.hpp" + +int is_bf16_supported(); + +void has_nan_inf_fp16_launcher(int32_t n, std::uintptr_t g_fp16, std::uintptr_t mid, std::uintptr_t out, std::uintptr_t stream); +void has_nan_inf_bf16_launcher(int32_t n, std::uintptr_t g_bf16, std::uintptr_t mid, std::uintptr_t out, std::uintptr_t stream); + +void fp16_from_fp32_value_launcher( + int64_t n, + std::uintptr_t param_fp32, + std::uintptr_t param_fp16 +); +void bf16_from_fp32_value_launcher( + int64_t n, + std::uintptr_t param_fp32, + std::uintptr_t param_bf16 +); +void cross_entropy_forward_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t input, + std::uintptr_t target, + std::uintptr_t softmax, + std::uintptr_t output, + int32_t ignore_index, + std::uintptr_t stream +); +void cross_entropy_backward_inplace_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t grad_output, + std::uintptr_t target, + std::uintptr_t x, + int32_t ignore_index, + std::uintptr_t stream +); +void cross_entropy_forward_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t input, + std::uintptr_t target, + std::uintptr_t softmax, + std::uintptr_t output, + int32_t ignore_index, + std::uintptr_t stream +); +void cross_entropy_backward_inplace_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t grad_output, + std::uintptr_t target, + std::uintptr_t x, + int32_t ignore_index, + std::uintptr_t stream +); +void fused_sumexp_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +); +void fused_sumexp_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +); +void fused_softmax_inplace_fp16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +); +void fused_softmax_inplace_bf16_launcher( + int32_t m, int32_t n, + std::uintptr_t logits, + std::uintptr_t max_logits, + std::uintptr_t sum_exp_logits, + std::uintptr_t stream +); +void adam_fp16_launcher( + int n, + std::uintptr_t param_fp32, + std::uintptr_t param_fp16, + std::uintptr_t g_fp16, + std::uintptr_t m_fp16, + std::uintptr_t v_fp32, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2, + uintptr_t stream +); +void adam_bf16_launcher( + int n, + std::uintptr_t param_fp32, + std::uintptr_t param_bf16, + std::uintptr_t g_bf16, + std::uintptr_t m_fp32, + std::uintptr_t v_fp32, + float beta1, float beta2, + float eps, float lr, + float scale, + float weight_decay, + float bias_correction1, + float bias_correction2, + uintptr_t stream +); diff --git a/examples/BMTrain/csrc/include/cpu_info.h b/examples/BMTrain/csrc/include/cpu_info.h new file mode 100644 index 00000000..53ed48f8 --- /dev/null +++ b/examples/BMTrain/csrc/include/cpu_info.h @@ -0,0 +1,38 @@ +#include <cpuid.h> + +static void cpuid(int info[4], int InfoType){ + __cpuid_count(InfoType, 0, info[0], info[1], info[2], info[3]); +} + +int get_cpu_level() { + // SIMD: 128-bit + bool HW_F16C; + + // SIMD: 256-bit + bool HW_AVX; + bool HW_FMA; + + // SIMD: 512-bit + bool HW_AVX512F; // AVX512 Foundation + + int info[4]; + cpuid(info, 0); + int nIds = info[0]; + + // Detect Features + if (nIds >= 0x00000001){ + cpuid(info,0x00000001); + HW_AVX = (info[2] & ((int)1 << 28)) != 0; + HW_FMA = (info[2] & ((int)1 << 12)) != 0; + HW_F16C = (info[2] & ((int)1 << 29)) != 0; + } + if (nIds >= 0x00000007){ + cpuid(info,0x00000007); + HW_AVX512F = (info[1] & ((int)1 << 16)) != 0; + } + + int ret = 0; + if (HW_AVX && HW_FMA && HW_F16C) ret = 1; + if (HW_AVX512F) ret = 2; + return ret; +} diff --git a/examples/BMTrain/csrc/include/nccl.hpp b/examples/BMTrain/csrc/include/nccl.hpp new file mode 100644 index 00000000..bba0278b --- /dev/null +++ b/examples/BMTrain/csrc/include/nccl.hpp @@ -0,0 +1,188 @@ +#include <cstdint> +#include <string> +#include <pybind11/pybind11.h> + +namespace py = pybind11; +#include <nccl.h> + +void checkNCCLStatus(ncclResult_t result) { + if (result == ncclSuccess) return; + throw std::logic_error( + std::string("NCCL Error: ") + + ncclGetErrorString(result) + ); +} + +py::bytes pyNCCLGetUniqueID() { + ncclUniqueId uniqueID; + checkNCCLStatus(ncclGetUniqueId(&uniqueID)); + return py::bytes(uniqueID.internal, NCCL_UNIQUE_ID_BYTES); +} + +std::uintptr_t pyNCCLCommInitRank(py::bytes byteUniqueID, int world_size, int rank) { + ncclUniqueId uniqueID; + std::memcpy(uniqueID.internal, std::string(byteUniqueID).c_str(), NCCL_UNIQUE_ID_BYTES); + ncclComm_t comm; + checkNCCLStatus(ncclCommInitRank(&comm, world_size, uniqueID, rank)); + return reinterpret_cast<std::uintptr_t>(comm); +} + +void pyNCCLCommDestroy(std::uintptr_t ptrcomm) { + ncclComm_t comm = reinterpret_cast<ncclComm_t>(ptrcomm); + checkNCCLStatus(ncclCommDestroy(comm)); +} + +void pyNCCLAllGather( + std::uintptr_t sendbuff, + std::uintptr_t recvbuff, + size_t sendcount, + int datatype, + std::uintptr_t comm, + std::uintptr_t stream +) { + checkNCCLStatus(ncclAllGather( + reinterpret_cast<void*>(sendbuff), + reinterpret_cast<void*>(recvbuff), + sendcount, + static_cast<ncclDataType_t>(datatype), + reinterpret_cast<ncclComm_t>(comm), + reinterpret_cast<cudaStream_t>(stream) + )); +} + +void pyNCCLAllReduce( + std::uintptr_t sendbuff, + std::uintptr_t recvbuff, + size_t count, + int data_type, + int op, + std::uintptr_t comm, + std::uintptr_t stream +) { + checkNCCLStatus(ncclAllReduce( + reinterpret_cast<void*>(sendbuff), + reinterpret_cast<void*>(recvbuff), + count, + static_cast<ncclDataType_t>(data_type), + static_cast<ncclRedOp_t>(op), + reinterpret_cast<ncclComm_t>(comm), + reinterpret_cast<cudaStream_t>(stream) + )); +} + +void pyNCCLBroadcast( + std::uintptr_t sendbuff, + std::uintptr_t recvbuff, + size_t count, + int datatype, + int root, + std::uintptr_t comm, + std::uintptr_t stream +) { + checkNCCLStatus(ncclBroadcast( + reinterpret_cast<void*>(sendbuff), + reinterpret_cast<void*>(recvbuff), + count, + static_cast<ncclDataType_t>(datatype), + root, + reinterpret_cast<ncclComm_t>(comm), + reinterpret_cast<cudaStream_t>(stream) + )); +} + +void pyNCCLReduce( + std::uintptr_t sendbuff, + std::uintptr_t recvbuff, + size_t count, + int datatype, + int op, + int root, + std::uintptr_t comm, + std::uintptr_t stream +) { + checkNCCLStatus(ncclReduce( + reinterpret_cast<void*>(sendbuff), + reinterpret_cast<void*>(recvbuff), + count, + static_cast<ncclDataType_t>(datatype), + static_cast<ncclRedOp_t>(op), + root, + reinterpret_cast<ncclComm_t>(comm), + reinterpret_cast<cudaStream_t>(stream) + )); +} + +void pyNCCLReduceScatter( + std::uintptr_t sendbuff, + std::uintptr_t recvbuff, + size_t recvcount, + int datatype, + int op, + std::uintptr_t comm, + std::uintptr_t stream +) { + checkNCCLStatus(ncclReduceScatter( + reinterpret_cast<void*>(sendbuff), + reinterpret_cast<void*>(recvbuff), + recvcount, + static_cast<ncclDataType_t>(datatype), + static_cast<ncclRedOp_t>(op), + reinterpret_cast<ncclComm_t>(comm), + reinterpret_cast<cudaStream_t>(stream) + )); +} +void pyNCCLSend( + std::uintptr_t sendbuff, + size_t sendcount, + int data_type, + int peer, + std::uintptr_t comm, + std::uintptr_t stream +) { + checkNCCLStatus(ncclSend( + reinterpret_cast<void*>(sendbuff), + sendcount, + static_cast<ncclDataType_t>(data_type), + peer, + reinterpret_cast<ncclComm_t>(comm), + reinterpret_cast<cudaStream_t>(stream) + )); +} +void pyNCCLRecv( + std::uintptr_t recvbuff, + size_t recvcount, + int data_type, + int peer, + std::uintptr_t comm, + std::uintptr_t stream +) { + checkNCCLStatus(ncclRecv( + reinterpret_cast<void*>(recvbuff), + recvcount, + static_cast<ncclDataType_t>(data_type), + peer, + reinterpret_cast<ncclComm_t>(comm), + reinterpret_cast<cudaStream_t>(stream) + )); +} +void pyNCCLGroupStart() { + checkNCCLStatus(ncclGroupStart()); +} + +void pyNCCLGroupEnd() { + checkNCCLStatus(ncclGroupEnd()); +} +int pyNCCLCommCount( + std::uintptr_t comm +){ + int res; + checkNCCLStatus(ncclCommCount(reinterpret_cast<ncclComm_t>(comm),&res)); + return res; +} +int pyNCCLCommUserRank( + std::uintptr_t comm +){ + int rank; + checkNCCLStatus(ncclCommUserRank(reinterpret_cast<ncclComm_t>(comm),&rank)); + return rank; +} diff --git a/examples/BMTrain/doc_requirements.txt b/examples/BMTrain/doc_requirements.txt new file mode 100644 index 00000000..79d22ca0 --- /dev/null +++ b/examples/BMTrain/doc_requirements.txt @@ -0,0 +1,5 @@ +sphinx>=4.0.0 +recommonmark +sphinx_markdown_tables +sphinx_rtd_theme>=0.3.0 +torch \ No newline at end of file diff --git a/examples/BMTrain/docs/Makefile b/examples/BMTrain/docs/Makefile new file mode 100644 index 00000000..4f2fbe66 --- /dev/null +++ b/examples/BMTrain/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source-en +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/examples/BMTrain/docs/UPDATE_0.2.0.md b/examples/BMTrain/docs/UPDATE_0.2.0.md new file mode 100644 index 00000000..92819afd --- /dev/null +++ b/examples/BMTrain/docs/UPDATE_0.2.0.md @@ -0,0 +1,79 @@ +# Update Log 0.2.0 + +## What's New + +### 1. Added an `Optimizer Manager` to support various optimizer algorithms. + +Before 0.2.0, the `optimizer` was strongly coupled to the "loss scaler". This results in users cannot use multiple optimizers at the same time when training model in fp16. + +**======= Before 0.2.0 =======** + +```python +for iteration in range(1000): + # zero grad + optimizer.zero_grad() + + # ... + # loss scale and backward + loss = optimizer.loss_scale(loss) + loss.backward() + + # optimizer step + bmtrain.optim_step(optimizer, lr_scheduler) +``` + +The `bmtrain.optim_step` allows only one `optimizer` and at most one `lr_schduler`, which cannot handle some more complex scenarios. + + +**======= After 0.2.0 =======** + +```python +# create a new instance of optimizer manager +optim_manager = bmtrain.optim.OptimManager(loss_scale=1024) +# let optim_manager handle all the optimizer and (optional) their corresponding lr_scheduler +optim_manager.add_optimizer(optimizer, lr_scheduler) +# add_optimizer can be called multiple times to add other optimizers. + +for iteration in range(1000): + # zero grad + optim_manager.zero_grad() # calling zero_grad for each optimizer + + # ... + # loss scale and backward + optim_manager.backward(loss) + + # optimizer step + optim_manager.step() +``` + +Starting from BMTrain 0.2.0, we provide "OptimManager" to manage optimizers and loss scales. +`OptimManager` supports managing multiple optimizers and lr_schedulers at the same time, and allows setting the loss scale independently. +`OptimManager` can also manage pytorch native optimizers, such as SGD, AdamW, etc. + +### 2. Pipeline Parallelism + +In this version, BMTrain has added a new kind of parallel algorithm: pipeline parallelism. +To enable pipeline parallelism, one line of code needs to be modified. + +**======= ZeRO =======** +```python +layers = bmt.TransformerBlockList([ + # ... +]) +``` + +**======= Pipeline =======** +```python +layers = bmt.PipelineTransformerBlockList([ + # ... +]) +``` + +Replacing TransformerBlockList with PipelineTransformerBlockList allows the parallel algorithm to switch from ZeRO to pipeline parallelism. +The number of stages in the pipeline can be set by passing the `pipe_size` parameter to bmtrain.init_distributed. + +### 3. Others + +* Supports BF16. +* Tensors recorded in inspector supports backward propagation. +* Adds new tests. diff --git a/examples/BMTrain/docs/UPDATE_0.2.3.md b/examples/BMTrain/docs/UPDATE_0.2.3.md new file mode 100644 index 00000000..e95c6867 --- /dev/null +++ b/examples/BMTrain/docs/UPDATE_0.2.3.md @@ -0,0 +1,26 @@ +# Update Log 0.2.3 + +**Full Changelog**: https://github.com/OpenBMB/BMTrain/compare/0.2.0...0.2.3 + + +## What's New + +### 1. Get rid of torch cpp extension when compiling + +Before 0.2.3, the installation of BMTrain requires the torch cpp extension, which is not friendly to some users (it requires CUDA Runtime fits with torch). Now we get rid of the torch cpp extension when compiling BMTrain, which makes the source-code way installation of BMTrain more convenient. +Just run `pip install .` to install BMTrain using source code. + +### 2. CICD + +In 0.2.3, we bring the Github action CICD to BMTrain. Now we can run the CI/CD pipeline on Github to ensure the quality of the code. CICD will run the test cases and compile the source code into wheel packages. + +### 3. Loss scale management + +In 0.2.3, we add the min and max loss scale to the loss scale manager. The loss scale manager can adjust the loss scale dynamically according to the loss scale's min and max value. This feature can help users to avoid the loss scale being too large or too small. + + +### 3. Others + +* Fix `bmt.load(model)` OOM when meets torch >= 1.12 +* `AdamOffloadOptimizer` can choose avx flag automatically in runtime +* Now BMTrain is fully compatible with torch 2.0 diff --git a/examples/BMTrain/docs/UPDATE_1.0.0.md b/examples/BMTrain/docs/UPDATE_1.0.0.md new file mode 100644 index 00000000..da9fe86e --- /dev/null +++ b/examples/BMTrain/docs/UPDATE_1.0.0.md @@ -0,0 +1,72 @@ +# Update Log 1.0.0 + +**Full Changelog**: https://github.com/OpenBMB/BMTrain/compare/0.2.3...1.0.0 + +## What's New + +### 1. Using pytorch's hook mechanism to refactor ZeRO, checkpoint, pipeline, communication implementation + +Now user can specify zero level of each `bmt.CheckpointBlock`. + +**======= Before 1.0.0 =======** + +```python +import bmtrain as bmt +bmt.init_distributed(zero_level=3) + +``` + +The zero level setting can only set globally and computation checkpointing can not be disabled. +For `bmt.TransformerBlockList`, it has to call a blocklist forward instead of a loop way + +**======= After 1.0.0 =======** + +```python +import bmtrain as bmt +bmt.init_distributed() +# construct block +class Transformer(bmt.DistributedModule): + def __init__(self, + num_layers : int) -> None: + super().__init__() + + self.transformers = bmt.TransformerBlockList([ + bmt.Block( + TransformerEncoder( + dim_model, dim_head, num_heads, dim_ff, bias, dtype + ), use_checkpoint=True, zero_level=3 + ) + for _ in range(num_layers) + ]) + + def forward(self): + # return self.transformers(x) v0.2.3 can only forward in this way + for block in self.transformers: + x = block(x) + return x + +``` + +You can specify the zero level of each `bmt.CheckpointBlock` (alias of `bmt.Block`) and computation checkpointing can be disabled by setting `use_checkpoint=False` . For `bmt.TransformerBlockList`, it can be called in a loop way. + + +### 2. Add Bf16 support + +Now BMTrain supports Bf16 training. You can simply use `dtype=torch.bfloat16' in your model construction method and BMTrain will handle the rest. + +### 3. Tensor parallel implementation + +For this part, BMTrain only provides a series of parallel ops for Tensor parallel implementation, including `bmt.nn.OpParallelLinear` and `bmt.nn.VPEmbedding` . We also provide a Tensor Parallel training example in our training example. You can simply use `bmt.init_distributed(tp_size=4)` to enable a 4-way tensor parallel training. + +### 4. `AdamOffloadOptimizer` can save whole gathered state + +Now `AdamOffloadOptimizer` can save whole gathered state. This feature can help users to save the whole gathered state of the optimizer, which can be used to resume training from the saved state. For better performance, we provide async-way save state_dict to overlap I/O and computation. +```python +import bmtrain as bmt +# you can enbale this feature in two ways: Optimmanager's or optimizer's interface +global_ckpt = bmt.optim.Optimmanager.state_dict(gather_opt=True) +global_ckpt = optimizer.state_dict(gather=True) +``` +### Others + +* New test for new version BMTrain \ No newline at end of file diff --git a/examples/BMTrain/docs/logo.png b/examples/BMTrain/docs/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2dd2f1cbf0e44358b5bad8c84e2a3bd6e0489662 GIT binary patch literal 47918 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 DCKL@86< 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 QbN~PV07*qoM6N<$f~AdYssI20 literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/make.bat b/examples/BMTrain/docs/make.bat new file mode 100644 index 00000000..6fcf05b4 --- /dev/null +++ b/examples/BMTrain/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/examples/BMTrain/docs/source-en/_static/css/custom.css b/examples/BMTrain/docs/source-en/_static/css/custom.css new file mode 100644 index 00000000..1e3a643c --- /dev/null +++ b/examples/BMTrain/docs/source-en/_static/css/custom.css @@ -0,0 +1,124 @@ +a, +.wy-menu-vertical header, +.wy-menu-vertical p.caption, +.wy-nav-top .fa-bars, +.wy-menu-vertical a:hover, + +.rst-content code.literal, .rst-content tt.literal + +{ + color: #315EFE !important; +} + +/* inspired by sphinx press theme */ +.wy-menu.wy-menu-vertical li.toctree-l1.current > a { + border-left: solid 8px #315EFE !important; + border-top: none; + border-bottom: none; +} + +.wy-menu.wy-menu-vertical li.toctree-l1.current > ul { + border-left: solid 8px #315EFE !important; +} +/* inspired by sphinx press theme */ + +.wy-nav-side { + color: unset !important; + background: unset !important; + border-right: solid 1px #ccc !important; +} + +.wy-side-nav-search, +.wy-nav-top, +.wy-menu-vertical li, +.wy-menu-vertical li a:hover, +.wy-menu-vertical li a +{ + background: unset !important; +} + +.wy-menu-vertical li.current a { + border-right: unset !important; +} + +.wy-side-nav-search div, +.wy-menu-vertical a { + color: #404040 !important; +} + +.wy-menu-vertical button.toctree-expand { + color: #333 !important; +} + +.wy-nav-content { + max-width: unset; +} + +.rst-content { + max-width: 900px; +} + +.wy-nav-content .icon-home:before { + content: "Docs"; +} + +.wy-side-nav-search .icon-home:before { + content: ""; +} + +dl.field-list { + display: block !important; +} + +dl.field-list > dt:after { + content: "" !important; +} + +:root { + --dark-blue: #3260F7; + --light-blue: rgba(194, 233, 248, 0.1) ; +} + +dl.field-list > dt { + display: table; + padding-left: 6px !important; + padding-right: 6px !important; + margin-bottom: 4px !important; + padding-bottom: 1px !important; + background: var(--light-blue); + border-left: solid 2px var(--dark-blue); +} + + +dl.py.class>dt +{ + color: rgba(17, 16, 17, 0.822) !important; + background: var(--light-blue) !important; + border-top: solid 2px var(--dark-blue) !important; +} + +dl.py.method>dt +{ + background: var(--light-blue) !important; + border-left: solid 2px var(--dark-blue) !important; +} + +dl.py.attribute>dt, +dl.py.property>dt +{ + background: var(--light-blue) !important; + border-left: solid 2px var(--dark-blue) !important; +} + +.fa-plus-square-o::before, .wy-menu-vertical li button.toctree-expand::before, +.fa-minus-square-o::before, .wy-menu-vertical li.current > a button.toctree-expand::before, .wy-menu-vertical li.on a button.toctree-expand::before +{ + content: ""; +} + +.rst-content .viewcode-back, +.rst-content .viewcode-link +{ + color:#58b5cc; + font-size: 120%; +} \ No newline at end of file diff --git a/examples/BMTrain/docs/source-en/_static/js/custom.js b/examples/BMTrain/docs/source-en/_static/js/custom.js new file mode 100644 index 00000000..489b7d5c --- /dev/null +++ b/examples/BMTrain/docs/source-en/_static/js/custom.js @@ -0,0 +1,7 @@ +document.addEventListener("DOMContentLoaded", function(event) { + document.querySelectorAll(".wy-menu.wy-menu-vertical > ul.current > li > a").forEach(a => a.addEventListener("click", e=>{ + f = document.querySelector(".wy-menu.wy-menu-vertical > ul.current > li > ul") + if (f.style.display=='none') { f.style.display='block'; } else f.style.display = 'none' + })); + document.querySelectorAll(".headerlink").forEach(a => a.text="\u{1F517}"); +}); \ No newline at end of file diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.benchmark.rst_bk b/examples/BMTrain/docs/source-en/api/bmtrain.benchmark.rst_bk new file mode 100644 index 00000000..f8b2902d --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.benchmark.rst_bk @@ -0,0 +1,53 @@ +bmtrain.benchmark package +========================= + +Submodules +---------- + +bmtrain.benchmark.all\_gather module +------------------------------------ + +.. automodule:: bmtrain.benchmark.all_gather + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.reduce\_scatter module +---------------------------------------- + +.. automodule:: bmtrain.benchmark.reduce_scatter + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.send\_recv module +----------------------------------- + +.. automodule:: bmtrain.benchmark.send_recv + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.shape module +------------------------------ + +.. automodule:: bmtrain.benchmark.shape + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.utils module +------------------------------ + +.. automodule:: bmtrain.benchmark.utils + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.benchmark + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.distributed.rst_bk b/examples/BMTrain/docs/source-en/api/bmtrain.distributed.rst_bk new file mode 100644 index 00000000..ef41db07 --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.distributed.rst_bk @@ -0,0 +1,21 @@ +bmtrain.distributed package +=========================== + +Submodules +---------- + +bmtrain.distributed.ops module +------------------------------ + +.. automodule:: bmtrain.distributed.ops + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.distributed + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.inspect.rst b/examples/BMTrain/docs/source-en/api/bmtrain.inspect.rst new file mode 100644 index 00000000..c57195ad --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.inspect.rst @@ -0,0 +1,37 @@ +bmtrain.inspect package +======================= + +Submodules +---------- + +bmtrain.inspect.format module +----------------------------- + +.. automodule:: bmtrain.inspect.format + :members: format_summary + :undoc-members: + :show-inheritance: + +bmtrain.inspect.model module +---------------------------- + +.. automodule:: bmtrain.inspect.model + :members: inspect_model + :undoc-members: + :show-inheritance: + +bmtrain.inspect.tensor module +----------------------------- + +.. automodule:: bmtrain.inspect.tensor + :members: inspect_tensor, InspectTensor + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.inspect + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.loss.rst b/examples/BMTrain/docs/source-en/api/bmtrain.loss.rst new file mode 100644 index 00000000..03b65646 --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.loss.rst @@ -0,0 +1,21 @@ +bmtrain.loss package +==================== + +Submodules +---------- + +bmtrain.loss.cross\_entropy module +---------------------------------- + +.. automodule:: bmtrain.loss.cross_entropy + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.loss + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.lr_scheduler.rst b/examples/BMTrain/docs/source-en/api/bmtrain.lr_scheduler.rst new file mode 100644 index 00000000..0ba033af --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.lr_scheduler.rst @@ -0,0 +1,61 @@ +bmtrain.lr\_scheduler package +============================= + +Submodules +---------- + +bmtrain.lr\_scheduler.cosine module +----------------------------------- + +.. automodule:: bmtrain.lr_scheduler.cosine + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.exponential module +---------------------------------------- + +.. automodule:: bmtrain.lr_scheduler.exponential + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.linear module +----------------------------------- + +.. automodule:: bmtrain.lr_scheduler.linear + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.no\_decay module +-------------------------------------- + +.. automodule:: bmtrain.lr_scheduler.no_decay + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.noam module +--------------------------------- + +.. automodule:: bmtrain.lr_scheduler.noam + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.warmup module +----------------------------------- + +.. automodule:: bmtrain.lr_scheduler.warmup + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.lr_scheduler + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.nccl.rst_bk b/examples/BMTrain/docs/source-en/api/bmtrain.nccl.rst_bk new file mode 100644 index 00000000..3755d9ef --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.nccl.rst_bk @@ -0,0 +1,21 @@ +bmtrain.nccl package +==================== + +Submodules +---------- + +bmtrain.nccl.enums module +------------------------- + +.. automodule:: bmtrain.nccl.enums + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.nccl + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.nn.rst b/examples/BMTrain/docs/source-en/api/bmtrain.nn.rst new file mode 100644 index 00000000..8e2a531f --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.nn.rst @@ -0,0 +1,53 @@ +bmtrain.nn package +================== + +Submodules +---------- + +bmtrain.nn.column\_parallel\_linear module +------------------------------------------ + +.. automodule:: bmtrain.nn.column_parallel_linear + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.linear module +------------------------ + +.. automodule:: bmtrain.nn.linear + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.parallel\_embedding module +------------------------------------- + +.. automodule:: bmtrain.nn.parallel_embedding + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.parallel\_linear\_func module +---------------------------------------- + +.. automodule:: bmtrain.nn.parallel_linear_func + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.row\_parallel\_linear module +--------------------------------------- + +.. automodule:: bmtrain.nn.row_parallel_linear + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.nn + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.optim.rst b/examples/BMTrain/docs/source-en/api/bmtrain.optim.rst new file mode 100644 index 00000000..2d47a3dd --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.optim.rst @@ -0,0 +1,37 @@ +bmtrain.optim package +===================== + +Submodules +---------- + +bmtrain.optim.adam module +------------------------- + +.. automodule:: bmtrain.optim.adam + :members: + :undoc-members: + :show-inheritance: + +bmtrain.optim.adam\_offload module +---------------------------------- + +.. automodule:: bmtrain.optim.adam_offload + :members: + :undoc-members: + :show-inheritance: + +bmtrain.optim.optim\_manager module +----------------------------------- + +.. automodule:: bmtrain.optim.optim_manager + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.optim + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/bmtrain.rst b/examples/BMTrain/docs/source-en/api/bmtrain.rst new file mode 100644 index 00000000..8445e5f0 --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/bmtrain.rst @@ -0,0 +1,140 @@ +bmtrain package +=============== + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + bmtrain.benchmark + bmtrain.distributed + bmtrain.inspect + bmtrain.loss + bmtrain.lr_scheduler + bmtrain.nccl + bmtrain.nn + bmtrain.optim + +Submodules +---------- + +bmtrain.block\_layer module +--------------------------- + +.. automodule:: bmtrain.block_layer + :members: + :undoc-members: + :show-inheritance: + +.. bmtrain.debug module +.. -------------------- + +.. .. automodule:: bmtrain.debug +.. :members: +.. :undoc-members: +.. :show-inheritance: + +bmtrain.global\_var module +-------------------------- + +.. automodule:: bmtrain.global_var + :members: + :undoc-members: + :show-inheritance: + +.. bmtrain.hook\_func module +.. ------------------------- + +.. .. automodule:: bmtrain.hook_func +.. :members: +.. :undoc-members: +.. :show-inheritance: + +bmtrain.init module +------------------- + +.. automodule:: bmtrain.init + :members: + :undoc-members: + :show-inheritance: + +bmtrain.layer module +-------------------- + +.. automodule:: bmtrain.layer + :members: + :undoc-members: + :show-inheritance: + +bmtrain.param\_init module +-------------------------- + +.. automodule:: bmtrain.param_init + :members: + :undoc-members: + :show-inheritance: + +bmtrain.parameter module +------------------------ + +.. automodule:: bmtrain.parameter + :members: DistributedParameter, ParameterInitializer + :undoc-members: + :show-inheritance: + +bmtrain.pipe\_layer module +-------------------------- + +.. automodule:: bmtrain.pipe_layer + :members: PipelineTransformerBlockList + :undoc-members: + :show-inheritance: + +bmtrain.store module +-------------------- + +.. automodule:: bmtrain.store + :members: save, load + :undoc-members: + :show-inheritance: + +bmtrain.synchronize module +-------------------------- + +.. automodule:: bmtrain.synchronize + :members: + :undoc-members: + :show-inheritance: + +bmtrain.utils module +-------------------- + +.. automodule:: bmtrain.utils + :members: + :undoc-members: + :show-inheritance: + +bmtrain.wrapper module +---------------------- + +.. automodule:: bmtrain.wrapper + :members: BMTrainModelWrapper + :undoc-members: + :show-inheritance: + +bmtrain.zero\_context module +---------------------------- + +.. automodule:: bmtrain.zero_context + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source-en/api/modules.rst b/examples/BMTrain/docs/source-en/api/modules.rst new file mode 100644 index 00000000..4350b5d7 --- /dev/null +++ b/examples/BMTrain/docs/source-en/api/modules.rst @@ -0,0 +1,7 @@ +bmtrain +======= + +.. toctree:: + :maxdepth: 4 + + bmtrain diff --git a/examples/BMTrain/docs/source-en/conf.py b/examples/BMTrain/docs/source-en/conf.py new file mode 100644 index 00000000..6351767a --- /dev/null +++ b/examples/BMTrain/docs/source-en/conf.py @@ -0,0 +1,79 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys + +sys.path.insert(0, os.path.abspath("../../..")) + +import recommonmark +from recommonmark.transform import AutoStructify + + +# -- Project information ----------------------------------------------------- + +project = "BMTrain" +copyright = "2022, OpenBMB" +author = "BMTrain Team" +autodoc_mock_imports = [ + "numpy", + "tensorboard", + "bmtrain.nccl._C", + "bmtrain.optim._cpu", + "bmtrain.optim._cuda", + "bmtrain.loss._cuda", +] +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + "sphinx.ext.autodoc", + "sphinx.ext.napoleon", + "sphinx.ext.mathjax", + "recommonmark", + "sphinx_markdown_tables", +] + +source_suffix = [".rst", ".md"] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ["_templates"] + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = "en" + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_rtd_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] +# html_stype="css/custom.css" +html_css_files = ["css/custom.css"] +html_js_files = ["js/custom.js"] diff --git a/examples/BMTrain/docs/source-en/index.rst b/examples/BMTrain/docs/source-en/index.rst new file mode 100644 index 00000000..a2ec24f9 --- /dev/null +++ b/examples/BMTrain/docs/source-en/index.rst @@ -0,0 +1,39 @@ +.. bmtrain-doc documentation master file, created by + sphinx-quickstart on Sat Mar 5 17:05:02 2022. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +BMTrain 文档 +=============================== + +**BMTrain** 是一个高效的大模型训练工具包,可以用于训练数百亿参数的大模型。BMTrain 可以在分布式训练模型的同时,能够保持代码的简洁性。 + +======================================= + +.. toctree:: + :maxdepth: 2 + :caption: Getting Started + + notes/installation.md + notes/quickstart.md + notes/tech.md + +.. toctree:: + :maxdepth: 2 + :caption: Package Reference + + api/bmtrain.rst + api/bmtrain.benchmark.rst + api/bmtrain.distributed.rst + api/bmtrain.inspect.rst + api/bmtrain.loss.rst + api/bmtrain.lr_scheduler.rst + api/bmtrain.nccl.rst + api/bmtrain.optim.rst + +API +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/examples/BMTrain/docs/source-en/notes/image/ZeRO3.png b/examples/BMTrain/docs/source-en/notes/image/ZeRO3.png new file mode 100644 index 0000000000000000000000000000000000000000..38d52ed5892198382582a293dadeccdc8c78a590 GIT binary patch literal 79501 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 T{i3x4__=gJUnB4Q&A<K!{k-RE literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source-en/notes/image/communication_example.png b/examples/BMTrain/docs/source-en/notes/image/communication_example.png new file mode 100644 index 0000000000000000000000000000000000000000..0e549b083045272409fd26d27354debc6ea22d25 GIT binary patch literal 805075 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�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 {ce$_rlA`gbTmo~o4^}X`v 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 VXO3N;-T=JJjL-dwIqiDue*owzYySWM literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source-en/notes/image/communication_fig.png b/examples/BMTrain/docs/source-en/notes/image/communication_fig.png new file mode 100644 index 0000000000000000000000000000000000000000..b763624023a51d0a7eab57dc4d0f48f5fcf67f83 GIT binary patch literal 46837 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 literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source-en/notes/image/cpu.png b/examples/BMTrain/docs/source-en/notes/image/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..451f397cad6ac012e8845015ed54e8dc74db3b1b GIT binary patch literal 89060 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 UDcY{A-vWNBN*a&L6rKnE5B}q*?EnA( literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source-en/notes/image/zero3_example.png b/examples/BMTrain/docs/source-en/notes/image/zero3_example.png new file mode 100644 index 0000000000000000000000000000000000000000..40f0e8ccf9edac02070e7619fb986811dbb2ad4c GIT binary patch literal 795194 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%0A=ZZ>3_< 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%0DhO%TuM7_H)O-CMgkwp}jpg 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%0A@kT#P>x?_~n!@a`U7!{vbtgt2#&-J~w5|@5 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 (r$k=lh;e>R%%lka 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∈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≺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 Q4M4qA6}1#9<t#(~4+}Tiod5s; literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source-en/notes/installation.md b/examples/BMTrain/docs/source-en/notes/installation.md new file mode 100644 index 00000000..330bfb21 --- /dev/null +++ b/examples/BMTrain/docs/source-en/notes/installation.md @@ -0,0 +1,45 @@ +# Installation + +## Install BMTrain + +### 1. From PyPI (Recommend) + +```shell +$ pip install bmtrain +``` + +### 2. From Source + +```shell +$ git clone https://github.com/OpenBMB/BMTrain.git +$ cd BMTrain +$ python3 setup.py install +``` + +## Compilation Options + +By setting environment variables, you can configure the compilation options of BMTrain (by default, the compilation environment will be automatically adapted). + +### AVX Instructions + +* Force the use of AVX instructions: `BMT_AVX256=ON` +* Force the use of AVX512 instructions: `BMT_AVX512=ON` + +### CUDA Compute Capability + +`TORCH_CUDA_ARCH_LIST=6.0 6.1 7.0 7.5 8.0+PTX` + +## Recommended Configuration + +* Network:Infiniband 100Gbps / RoCE 100Gbps +* GPU:NVIDIA Tesla V100 / NVIDIA Tesla A100 / RTX 3090 +* CPU:CPU that supports AVX512 instructions, 32 cores or above +* RAM:256GB or above + +## FAQ + +If the following error message is reported during compilation, try using a newer version of the gcc compiler. +``` +error: invalid static_cast from type `const torch::OrderdDict<...>` +``` + diff --git a/examples/BMTrain/docs/source-en/notes/quickstart.md b/examples/BMTrain/docs/source-en/notes/quickstart.md new file mode 100644 index 00000000..3ede3d13 --- /dev/null +++ b/examples/BMTrain/docs/source-en/notes/quickstart.md @@ -0,0 +1,159 @@ +# Quick Start + +## Step 1: Initialize BMTrain + +Before you can use BMTrain, you need to initialize it at the beginning of your code. Just like using the distributed module of PyTorch requires the use of **init_process_group** at the beginning of the code, using BMTrain requires the use of **init_distributed** at the beginning of the code. + +```python +import bmtrain as bmt +bmt.init_distributed( + seed=0, + # ... +) +``` + +**NOTE:** Do not use PyTorch's distributed module and its associated communication functions when using BMTrain. + +## Step 2: Enable ZeRO-3 Optimization + +To enable ZeRO-3 optimization, you need to make some simple replacements to the original model's code. + +* `torch.nn.Module` -> `bmtrain.DistributedModule` +* `torch.nn.Parameter` -> `bmtrain.DistributedParameter` + +And wrap the transformer blocks with `bmtrain.CheckpointBlock`. + +Here is an example. + +**Original** + +```python +import torch +class MyModule(torch.nn.Module): + def __init__(self): + super().__init__() + self.param = torch.nn.Parameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + SomeTransformerBlock(), + SomeTransformerBlock(), + SomeTransformerBlock() + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**Replaced** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): # changed here + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) # changed here + self.module_list = torch.nn.ModuleList([ + bmt.CheckpointBlock(SomeTransformerBlock()), # changed here + bmt.CheckpointBlock(SomeTransformerBlock()), # changed here + bmt.CheckpointBlock(SomeTransformerBlock()) # changed here + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +## Step 3: Enable Communication Optimization + + +To further reduce the extra overhead of communication and overlap communication with computing time, `TransformerBlockList` can be used for optimization. + +You can enable them by making the following substitutions to the code: + +* `torch.nn.ModuleList` -> `bmtrain.TransformerBlockList` +* `for module in self.module_list: x = module(x, ...)` -> `x = self.module_list(x, ...)` + +**Original** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**Replaced** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = bmt.TransformerBlockList([ # changed here + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()), + bmt.CheckpointBlock(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + x = self.module_list(x, 1, 2, 3) # changed here + return x + +``` + +## Step 4: Launch Distributed Training + +BMTrain uses the same launch command as the distributed module of PyTorch. + +You can choose one of them depending on your version of PyTorch. + +* `${MASTER_ADDR}` means the IP address of the master node. +* `${MASTER_PORT}` means the port of the master node. +* `${NNODES}` means the total number of nodes. +* `${GPU_PER_NODE}` means the number of GPUs per node. +* `${NODE_RANK}` means the rank of this node. + +### torch.distributed.launch +```shell +$ python3 -m torch.distributed.launch --master_addr ${MASTER_ADDR} --master_port ${MASTER_PORT} --nproc_per_node ${GPU_PER_NODE} --nnodes ${NNODES} --node_rank ${NODE_RANK} train.py +``` + +### torchrun + +```shell +$ torchrun --nnodes=${NNODES} --nproc_per_node=${GPU_PER_NODE} --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} train.py +``` + + +For more information, please refer to the [documentation](https://pytorch.org/docs/stable/distributed.html#launch-utility). + +## Other Notes + +`BMTrain` makes underlying changes to PyTorch, so if your program outputs unexpected results, you can submit information about it in an issue. + +For more examples, please refer to the *examples* folder. + diff --git a/examples/BMTrain/docs/source-en/notes/tech.md b/examples/BMTrain/docs/source-en/notes/tech.md new file mode 100644 index 00000000..fc6c704a --- /dev/null +++ b/examples/BMTrain/docs/source-en/notes/tech.md @@ -0,0 +1,11 @@ +# Introduction to Core Technology + +## ZeRO-3 Optimization +![](image/ZeRO3.png) + +## Overlap Communication and Computation +![](image/communication_fig.png) + +## CPU Offload +![](image/cpu.png) + diff --git a/examples/BMTrain/docs/source/_static/css/custom.css b/examples/BMTrain/docs/source/_static/css/custom.css new file mode 100644 index 00000000..1e3a643c --- /dev/null +++ b/examples/BMTrain/docs/source/_static/css/custom.css @@ -0,0 +1,124 @@ +a, +.wy-menu-vertical header, +.wy-menu-vertical p.caption, +.wy-nav-top .fa-bars, +.wy-menu-vertical a:hover, + +.rst-content code.literal, .rst-content tt.literal + +{ + color: #315EFE !important; +} + +/* inspired by sphinx press theme */ +.wy-menu.wy-menu-vertical li.toctree-l1.current > a { + border-left: solid 8px #315EFE !important; + border-top: none; + border-bottom: none; +} + +.wy-menu.wy-menu-vertical li.toctree-l1.current > ul { + border-left: solid 8px #315EFE !important; +} +/* inspired by sphinx press theme */ + +.wy-nav-side { + color: unset !important; + background: unset !important; + border-right: solid 1px #ccc !important; +} + +.wy-side-nav-search, +.wy-nav-top, +.wy-menu-vertical li, +.wy-menu-vertical li a:hover, +.wy-menu-vertical li a +{ + background: unset !important; +} + +.wy-menu-vertical li.current a { + border-right: unset !important; +} + +.wy-side-nav-search div, +.wy-menu-vertical a { + color: #404040 !important; +} + +.wy-menu-vertical button.toctree-expand { + color: #333 !important; +} + +.wy-nav-content { + max-width: unset; +} + +.rst-content { + max-width: 900px; +} + +.wy-nav-content .icon-home:before { + content: "Docs"; +} + +.wy-side-nav-search .icon-home:before { + content: ""; +} + +dl.field-list { + display: block !important; +} + +dl.field-list > dt:after { + content: "" !important; +} + +:root { + --dark-blue: #3260F7; + --light-blue: rgba(194, 233, 248, 0.1) ; +} + +dl.field-list > dt { + display: table; + padding-left: 6px !important; + padding-right: 6px !important; + margin-bottom: 4px !important; + padding-bottom: 1px !important; + background: var(--light-blue); + border-left: solid 2px var(--dark-blue); +} + + +dl.py.class>dt +{ + color: rgba(17, 16, 17, 0.822) !important; + background: var(--light-blue) !important; + border-top: solid 2px var(--dark-blue) !important; +} + +dl.py.method>dt +{ + background: var(--light-blue) !important; + border-left: solid 2px var(--dark-blue) !important; +} + +dl.py.attribute>dt, +dl.py.property>dt +{ + background: var(--light-blue) !important; + border-left: solid 2px var(--dark-blue) !important; +} + +.fa-plus-square-o::before, .wy-menu-vertical li button.toctree-expand::before, +.fa-minus-square-o::before, .wy-menu-vertical li.current > a button.toctree-expand::before, .wy-menu-vertical li.on a button.toctree-expand::before +{ + content: ""; +} + +.rst-content .viewcode-back, +.rst-content .viewcode-link +{ + color:#58b5cc; + font-size: 120%; +} \ No newline at end of file diff --git a/examples/BMTrain/docs/source/_static/js/custom.js b/examples/BMTrain/docs/source/_static/js/custom.js new file mode 100644 index 00000000..489b7d5c --- /dev/null +++ b/examples/BMTrain/docs/source/_static/js/custom.js @@ -0,0 +1,7 @@ +document.addEventListener("DOMContentLoaded", function(event) { + document.querySelectorAll(".wy-menu.wy-menu-vertical > ul.current > li > a").forEach(a => a.addEventListener("click", e=>{ + f = document.querySelector(".wy-menu.wy-menu-vertical > ul.current > li > ul") + if (f.style.display=='none') { f.style.display='block'; } else f.style.display = 'none' + })); + document.querySelectorAll(".headerlink").forEach(a => a.text="\u{1F517}"); +}); \ No newline at end of file diff --git a/examples/BMTrain/docs/source/api/bmtrain.benchmark.rst_bk b/examples/BMTrain/docs/source/api/bmtrain.benchmark.rst_bk new file mode 100644 index 00000000..f8b2902d --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.benchmark.rst_bk @@ -0,0 +1,53 @@ +bmtrain.benchmark package +========================= + +Submodules +---------- + +bmtrain.benchmark.all\_gather module +------------------------------------ + +.. automodule:: bmtrain.benchmark.all_gather + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.reduce\_scatter module +---------------------------------------- + +.. automodule:: bmtrain.benchmark.reduce_scatter + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.send\_recv module +----------------------------------- + +.. automodule:: bmtrain.benchmark.send_recv + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.shape module +------------------------------ + +.. automodule:: bmtrain.benchmark.shape + :members: + :undoc-members: + :show-inheritance: + +bmtrain.benchmark.utils module +------------------------------ + +.. automodule:: bmtrain.benchmark.utils + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.benchmark + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.distributed.rst_bk b/examples/BMTrain/docs/source/api/bmtrain.distributed.rst_bk new file mode 100644 index 00000000..ef41db07 --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.distributed.rst_bk @@ -0,0 +1,21 @@ +bmtrain.distributed package +=========================== + +Submodules +---------- + +bmtrain.distributed.ops module +------------------------------ + +.. automodule:: bmtrain.distributed.ops + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.distributed + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.inspect.rst b/examples/BMTrain/docs/source/api/bmtrain.inspect.rst new file mode 100644 index 00000000..c57195ad --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.inspect.rst @@ -0,0 +1,37 @@ +bmtrain.inspect package +======================= + +Submodules +---------- + +bmtrain.inspect.format module +----------------------------- + +.. automodule:: bmtrain.inspect.format + :members: format_summary + :undoc-members: + :show-inheritance: + +bmtrain.inspect.model module +---------------------------- + +.. automodule:: bmtrain.inspect.model + :members: inspect_model + :undoc-members: + :show-inheritance: + +bmtrain.inspect.tensor module +----------------------------- + +.. automodule:: bmtrain.inspect.tensor + :members: inspect_tensor, InspectTensor + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.inspect + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.loss.rst b/examples/BMTrain/docs/source/api/bmtrain.loss.rst new file mode 100644 index 00000000..03b65646 --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.loss.rst @@ -0,0 +1,21 @@ +bmtrain.loss package +==================== + +Submodules +---------- + +bmtrain.loss.cross\_entropy module +---------------------------------- + +.. automodule:: bmtrain.loss.cross_entropy + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.loss + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.lr_scheduler.rst b/examples/BMTrain/docs/source/api/bmtrain.lr_scheduler.rst new file mode 100644 index 00000000..0ba033af --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.lr_scheduler.rst @@ -0,0 +1,61 @@ +bmtrain.lr\_scheduler package +============================= + +Submodules +---------- + +bmtrain.lr\_scheduler.cosine module +----------------------------------- + +.. automodule:: bmtrain.lr_scheduler.cosine + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.exponential module +---------------------------------------- + +.. automodule:: bmtrain.lr_scheduler.exponential + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.linear module +----------------------------------- + +.. automodule:: bmtrain.lr_scheduler.linear + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.no\_decay module +-------------------------------------- + +.. automodule:: bmtrain.lr_scheduler.no_decay + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.noam module +--------------------------------- + +.. automodule:: bmtrain.lr_scheduler.noam + :members: + :undoc-members: + :show-inheritance: + +bmtrain.lr\_scheduler.warmup module +----------------------------------- + +.. automodule:: bmtrain.lr_scheduler.warmup + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.lr_scheduler + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.nccl.rst_bk b/examples/BMTrain/docs/source/api/bmtrain.nccl.rst_bk new file mode 100644 index 00000000..3755d9ef --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.nccl.rst_bk @@ -0,0 +1,21 @@ +bmtrain.nccl package +==================== + +Submodules +---------- + +bmtrain.nccl.enums module +------------------------- + +.. automodule:: bmtrain.nccl.enums + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.nccl + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.nn.rst b/examples/BMTrain/docs/source/api/bmtrain.nn.rst new file mode 100644 index 00000000..8e2a531f --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.nn.rst @@ -0,0 +1,53 @@ +bmtrain.nn package +================== + +Submodules +---------- + +bmtrain.nn.column\_parallel\_linear module +------------------------------------------ + +.. automodule:: bmtrain.nn.column_parallel_linear + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.linear module +------------------------ + +.. automodule:: bmtrain.nn.linear + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.parallel\_embedding module +------------------------------------- + +.. automodule:: bmtrain.nn.parallel_embedding + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.parallel\_linear\_func module +---------------------------------------- + +.. automodule:: bmtrain.nn.parallel_linear_func + :members: + :undoc-members: + :show-inheritance: + +bmtrain.nn.row\_parallel\_linear module +--------------------------------------- + +.. automodule:: bmtrain.nn.row_parallel_linear + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.nn + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.optim.rst b/examples/BMTrain/docs/source/api/bmtrain.optim.rst new file mode 100644 index 00000000..2d47a3dd --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.optim.rst @@ -0,0 +1,37 @@ +bmtrain.optim package +===================== + +Submodules +---------- + +bmtrain.optim.adam module +------------------------- + +.. automodule:: bmtrain.optim.adam + :members: + :undoc-members: + :show-inheritance: + +bmtrain.optim.adam\_offload module +---------------------------------- + +.. automodule:: bmtrain.optim.adam_offload + :members: + :undoc-members: + :show-inheritance: + +bmtrain.optim.optim\_manager module +----------------------------------- + +.. automodule:: bmtrain.optim.optim_manager + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain.optim + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/bmtrain.rst b/examples/BMTrain/docs/source/api/bmtrain.rst new file mode 100644 index 00000000..8445e5f0 --- /dev/null +++ b/examples/BMTrain/docs/source/api/bmtrain.rst @@ -0,0 +1,140 @@ +bmtrain package +=============== + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + bmtrain.benchmark + bmtrain.distributed + bmtrain.inspect + bmtrain.loss + bmtrain.lr_scheduler + bmtrain.nccl + bmtrain.nn + bmtrain.optim + +Submodules +---------- + +bmtrain.block\_layer module +--------------------------- + +.. automodule:: bmtrain.block_layer + :members: + :undoc-members: + :show-inheritance: + +.. bmtrain.debug module +.. -------------------- + +.. .. automodule:: bmtrain.debug +.. :members: +.. :undoc-members: +.. :show-inheritance: + +bmtrain.global\_var module +-------------------------- + +.. automodule:: bmtrain.global_var + :members: + :undoc-members: + :show-inheritance: + +.. bmtrain.hook\_func module +.. ------------------------- + +.. .. automodule:: bmtrain.hook_func +.. :members: +.. :undoc-members: +.. :show-inheritance: + +bmtrain.init module +------------------- + +.. automodule:: bmtrain.init + :members: + :undoc-members: + :show-inheritance: + +bmtrain.layer module +-------------------- + +.. automodule:: bmtrain.layer + :members: + :undoc-members: + :show-inheritance: + +bmtrain.param\_init module +-------------------------- + +.. automodule:: bmtrain.param_init + :members: + :undoc-members: + :show-inheritance: + +bmtrain.parameter module +------------------------ + +.. automodule:: bmtrain.parameter + :members: DistributedParameter, ParameterInitializer + :undoc-members: + :show-inheritance: + +bmtrain.pipe\_layer module +-------------------------- + +.. automodule:: bmtrain.pipe_layer + :members: PipelineTransformerBlockList + :undoc-members: + :show-inheritance: + +bmtrain.store module +-------------------- + +.. automodule:: bmtrain.store + :members: save, load + :undoc-members: + :show-inheritance: + +bmtrain.synchronize module +-------------------------- + +.. automodule:: bmtrain.synchronize + :members: + :undoc-members: + :show-inheritance: + +bmtrain.utils module +-------------------- + +.. automodule:: bmtrain.utils + :members: + :undoc-members: + :show-inheritance: + +bmtrain.wrapper module +---------------------- + +.. automodule:: bmtrain.wrapper + :members: BMTrainModelWrapper + :undoc-members: + :show-inheritance: + +bmtrain.zero\_context module +---------------------------- + +.. automodule:: bmtrain.zero_context + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: bmtrain + :members: + :undoc-members: + :show-inheritance: diff --git a/examples/BMTrain/docs/source/api/modules.rst b/examples/BMTrain/docs/source/api/modules.rst new file mode 100644 index 00000000..4350b5d7 --- /dev/null +++ b/examples/BMTrain/docs/source/api/modules.rst @@ -0,0 +1,7 @@ +bmtrain +======= + +.. toctree:: + :maxdepth: 4 + + bmtrain diff --git a/examples/BMTrain/docs/source/conf.py b/examples/BMTrain/docs/source/conf.py new file mode 100644 index 00000000..066680f7 --- /dev/null +++ b/examples/BMTrain/docs/source/conf.py @@ -0,0 +1,72 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys +sys.path.insert(0, os.path.abspath('../../..')) + +import recommonmark +from recommonmark.transform import AutoStructify + + + +# -- Project information ----------------------------------------------------- + +project = 'BMTrain' +copyright = '2022, OpenBMB' +author = 'BMTrain Team' +autodoc_mock_imports = ["numpy", "tensorboard", "bmtrain.nccl._C", "bmtrain.optim._cpu", "bmtrain.optim._cuda", "bmtrain.loss._cuda"] +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.napoleon', + 'sphinx.ext.mathjax', + 'recommonmark', + 'sphinx_markdown_tables', +] + +source_suffix = ['.rst', '.md'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'zh_CN' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] +#html_stype="css/custom.css" +html_css_files=['css/custom.css' ] +html_js_files= ['js/custom.js' ] diff --git a/examples/BMTrain/docs/source/index.rst b/examples/BMTrain/docs/source/index.rst new file mode 100644 index 00000000..a2ec24f9 --- /dev/null +++ b/examples/BMTrain/docs/source/index.rst @@ -0,0 +1,39 @@ +.. bmtrain-doc documentation master file, created by + sphinx-quickstart on Sat Mar 5 17:05:02 2022. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +BMTrain 文档 +=============================== + +**BMTrain** 是一个高效的大模型训练工具包,可以用于训练数百亿参数的大模型。BMTrain 可以在分布式训练模型的同时,能够保持代码的简洁性。 + +======================================= + +.. toctree:: + :maxdepth: 2 + :caption: Getting Started + + notes/installation.md + notes/quickstart.md + notes/tech.md + +.. toctree:: + :maxdepth: 2 + :caption: Package Reference + + api/bmtrain.rst + api/bmtrain.benchmark.rst + api/bmtrain.distributed.rst + api/bmtrain.inspect.rst + api/bmtrain.loss.rst + api/bmtrain.lr_scheduler.rst + api/bmtrain.nccl.rst + api/bmtrain.optim.rst + +API +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/examples/BMTrain/docs/source/notes/image/ZeRO3.png b/examples/BMTrain/docs/source/notes/image/ZeRO3.png new file mode 100644 index 0000000000000000000000000000000000000000..38d52ed5892198382582a293dadeccdc8c78a590 GIT binary patch literal 79501 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 T{i3x4__=gJUnB4Q&A<K!{k-RE literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source/notes/image/communication_example.png b/examples/BMTrain/docs/source/notes/image/communication_example.png new file mode 100644 index 0000000000000000000000000000000000000000..0e549b083045272409fd26d27354debc6ea22d25 GIT binary patch literal 805075 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�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 {ce$_rlA`gbTmo~o4^}X`v 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 VXO3N;-T=JJjL-dwIqiDue*owzYySWM literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source/notes/image/communication_fig.png b/examples/BMTrain/docs/source/notes/image/communication_fig.png new file mode 100644 index 0000000000000000000000000000000000000000..b763624023a51d0a7eab57dc4d0f48f5fcf67f83 GIT binary patch literal 46837 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 literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source/notes/image/cpu.png b/examples/BMTrain/docs/source/notes/image/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..451f397cad6ac012e8845015ed54e8dc74db3b1b GIT binary patch literal 89060 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 UDcY{A-vWNBN*a&L6rKnE5B}q*?EnA( literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source/notes/image/zero3_example.png b/examples/BMTrain/docs/source/notes/image/zero3_example.png new file mode 100644 index 0000000000000000000000000000000000000000..40f0e8ccf9edac02070e7619fb986811dbb2ad4c GIT binary patch literal 795194 zcmZs>1yodRyFWa1mq<tp(hbt7fQU$`lyr9v-60JFib!{<NOyO~(A`6K4#U8}H=gsp z@BcgJIjp_e_u6ysS+i!Y_{9~auBu3YON9#n00@-c%6|X=upR&a)B$Wv<Q)$Z9c2Ij z-_Ax(PF+b(jzQhk$<oH&0swd$m86ZO^Kp<oOYd7k!Z<4STbx#=4`^?3axoGN(W#%~ zy!cK@8WP>g#nIqF(i>eC%~qFWiBicKV|p5cL1tkv-5WlXo)A=aH*}-g)_4O>6?|k* z9c;w{j1uWby&#%FWiZlbP{Ag$j8#&$O2|S*4;YZ8Sl7>b-xVDbgQ<>r8kp=UlEeMI zWDK_~aO_cgVgt`y5|H3RY;|GL;uo2Y(jjv8ViFY)iQBsU9W@FS9IT^_i}uB<7S)RL zoCjm<(`G)Juo8}aBrjUdn{C&^1%UN(sLz|{ywn%ge&O?)BNS06<8C3ML9AOB&$W6^ zzGurQ1rI;33xz(3G?5HSy`{B+uE7K&V2#U1&;N|r$xgqP7f_<}Tzu3`d*r_LzIa71 z?5rL(8Huj&P!V45%BsN5N4DwcV)_10-Yjt-@p+Ov7N8J&n`H2v?{o^QSvMTTKhofK zIe{%Q?l~dpZm)dFRjO_tA7PJkea=S(jEonN1Pq2R62e%1+t<BiW&Y`xTdVs)Sh-N9 zKZy{g3G-n9t62Vmtzl!(kjWHjym<dEECsbvGnb7S)0806z`QX^gCku-;kCy|PTZ%g zoX9oYP4r+<Nu9xXGE1fIC!e6qw^f~fmE5mMSl@&Zkz*$^e!uQiJ#Roe@7AvvM&;-9 zPEcf^CY4ITGa`QSdxX}PhnSW1x0m!=+z`_5b}rE`cvUUp^{_9x$b9f3rOd;ke%E@v zLs`yv7a*zpfjGG!mXvpB<4qqsq%%3xx&!lh5XzRbd597NR^(#SVbg}l_It{8RQ3T( z)b&4;_+@WtQ%Jh)7}-z*WnTcQa@{-8s!`RkuZ_ZMhDrnns8YCTbiU$cz0M%Ylcl@o zq1R!iyZC{cB^$R#zuM@0X58ZK%(nB`8lZls(jAg!o%BX}?`y7@wGuvaI5AVCiM;PJ zHc<!S%-V|}q?^EMQ##b!ubNeoxrUUEq>NM?yPh?AM=3DU_2pjBy~*#-<^e`{%b2b{ zo1G0Z<`E+e(vIjEE<}3~VOX!hS?a@Dy`?{KAy_Bv7H2Evxm8Tf-!v}xT!|M>`je;# zsj}p_qCW>3(OdjUmAkei8ol4kMi^Y*p3z<BGuL5De97!pHQuev*P%5wR?(4~ji&v$ zp1X2wZtO|mqf8meN^ueSun}K!@#|;7NbO?n@O8ConJizetjpPa;)|(*JbM$AP>gIs zR7}MYpo?ikV^bqaj@K;PW7}#Uk)#|kV%DkYwjFJKZF+4ja4Vgs3MU9{^$aHBH?_cz zGOmTSu8*e1!~N;Nxi<{($oz6cNf5oL<H>xd-*OPe8QLp`r}7~>3Fwm@=sFh9mv=w# zVT=HPulU(8hC8V$=<G3<I(RB5Xwco)*+fysf@0PM8VFCiR;F+aL+H*3ubyMSer=6S z%P&7dY}Z5LBA4<O@FZHE3Fj@<w_tN7Q+d#c><&}mz&mrPDzaa%2^k0maJD2TLCbIG z7!3xfw@9ONKYgMQdgU-q!bWP5t6}{_oNn|DYreuBsvG-fkXD}W_~$EhACgv(M-K0V zA-?fJinJw2%<O$^T(9ZA4mnG&r3tgnGp(o@<G3@=wrF?bm3hUC$SD`h6MRo+^sLy+ zvq2b_A5I(HTG-rX@mUE>t_ADyT@Fbs4hY={HG(fZK_%ri8_RbR4`M=6)$ZzPB`?Jn zPp+ft<ej|8ry|9A_IsFn;(GjhEKMcO`74v<8J~TlQF<uQd6N7|mV>2~>G-+O*Rlk0 zCHm><nUU$`>8|O?nI7BA>7i+l5?bx%Jm~w<_&*ADEO+0`2K_ExUI<)xxH8>7X-r&J zoG6<AaL=yvon}b?omgSGYnp5Pg_eQA%Ig(HDMNz-X~kB3|8}_8b;JSvFY!-U9O>d9 zj$)p|lLFz7P9N7MtzS}qCg#r6lGS@xl9yQ^mE%92W7lBq{1Qf0EyVHCR;bLnW%7mH zXS=GGtk&c<KWykGTM8CR6=tg@Ozm81Ep0Tdg{)Vm4`zz&;-^6~V{?Xit$KGYP$2C$ zP@L*dLL;l-G2zTa@%Vkpm2YE3mwT7{OZ&z9nN9KrdIlgzkmIit!xiBbIw@KyqSmLa zzkJAi`me;V`2DH<K>=A00*Fw!$dwF%;Ilp|7Rov=ozV);?p11h5o`fs%I}m%f(?#m zg9#>-wkdWET@_<zZ6uCc#!sDI_F5-S*yNvVG<74wFT<1ZWkl~m{I*BN8OD+;Ug<6+ zF6B|blp3OX%rgg-5*<JKPccl<OwAPat2B@7S)y1nR?k?fSn^W(;FB}OYmABZ?(vHV z$MYqpI|(@no>o`XzO75KsswMgG53D6NwsKPtm>`m9~!Z(nZYlyEs>Ztw=1e0_bI*B zJ-iXF6aFQP=Wt-3wL~@VY9C`?;&8e!afEuzvZT3aP|dn1cnmxiSv2yHrIn=pLP$oK zOrxR5tN0c2rr(1#Br!g5{@3Jwk>E_~w*H>}@%^~M8uOw>mU8BB35gcdq~ae+7mpro zZM8Ycx#KcV#e>*b8Zjqx$bg6=p`&CyZoS>f%NxF%g_G-(aw!@qbh>m&NAF1~MPHsP z`}6zF?PKQa-{%Jxbr)l2tLy%WzlLMYcucY`pTp4aMxbH`mlJct^&K}kr`Z8x0gVC8 zh^+W3T4u^x|7o*8yuh+Ytw#{xjqIC_A3-45OIb%_i}ielVTOQlP>vOsuNI*l(V=FA zUBye7^O<iQuP;lp7&;yf5j&0z-VBZkp#eRdVT6%O;*a<r)@4CIA1@&Kb4CtRg&q|U zPDKB&%`15y#j#jPGKIKzv7hO$*%qIFrdkoDqNNq{nc4H@pXJ|7Y0@Dcjxr$gl^GLu zbY1@HW$LHzr*J>@<tvWhlQEV_QdX7|Rlnq?88uw{j#UO#l8wv?f)@JkG>7h{6Q+}X z(VD%9O%>ZQP18tYE0xatp7pJbsnyedZ(hhuqTd_DN#|+Sat!+g0ju$)C5UXy%a2Aa zM@0x=Kl}BpSx_2i)|j-s`d)P>e1wiJz5d6|H~Jo<(bFd|JT2TTi(9MG5udE%>{gCu zWlA<KQjeJVyz9I<F%q$K;OcJQ&dJCzSb20Qx%@}=*ENP&lHF)E6@ko`?jM?aG(K?c zryNOmk8aV~e0Ph${~DJ(L$TMD4A*MRyl1`b?h5LP?jrj5p@=5!x0I%2t$SK`P483| zSr{2YfHr$9eN~{_uW$JokyVwYV`kXMP{xeFk}EW1ArsiOdz7Y}nl5ou?_GAOHFjqg zaB$y;!GgEL<#qoNrZ&?{)jPSFj)x$3H2lK*gxgl{sLg9-vz+<<8(v{qp+#YK^4Sl4 znD-WVTjqv$^z&lfh}}ZbcF*?awulyb*?jE>UyF&M{*pK4zYRup465MeLZovUyq9cC zEkCNX+UoKpn_2=gXPUMTrOPSG+6_tcE1g2m!+WV$owl4>s@SbRj#?&;7N*NMkT^8f z3i;VN6slM(2yfPPIjGea+soYHT_*pgeIxPC({F)&b)k~eWbPNo>F?hwea*?5`7;*> zWl|8R{wj4<eOq6n<)JjfzwoXz;P!z6OMq}$l+wLooA^?Fw0ySRQS`lx{)d=p)so|1 zq_ghR#WVFH^1?MQ;X-uMo37@&8khNG{Z}Av301MSb+5pW8Xuji3mWg_p;7(Zq<SY= zG{B3+U$Bo3#rdk)5~LnGTe`CgMZkw$P}Ysqnscys?n&NU@1hoXw!7W?!J}ccq!jw? zrVu_XolL!?SWDmj#A~}}CZWWt%%#krg$~$?cyke_C(^%i)X>|0eebb)Jm-mfdbN@X zjCU^IYMVt=Vf7Jl1lB+L8%1dMS4KQ1(xYdVZn{gkfo+p6B!V;XvL>^BND2CCT`wQs zPLx%Y4fFQ3?fJ2LFU%R-M?mSR4HsJB*Wer(J>R}7x3(W`CxO*lr5j6`f!_Bslhku} z>jn?aZ8yyH_%cWEfqO6L$Ae-k|Bup%(#e69kCQN=gTvN``-cD=?IBt(vW|7x>MDR& zH7VdT6~Jx2UZao0w-e>ncf=t8^$~~jt{3GTH3ze;z2CFDK0O_9v_`nZJ5Y|}J0nU3 zP?83?d(u;Je6?t7W^epiq4r#I?=%q4S9p>G(8hIodRlUH`dCGPiRasISy_dpiA@5< z*Aq1oxD@PcC$R{G8-Qe1gBekY&L9XQKv+U-$cp(El6}})=qOpLr~o*SYis~I3KakY zxk5pn(kRsbS-(MH1EBraeN+G-!Ull;uRW^B>)*cw<oWlR|GuK;p#FOY)<X{3zt^Y( zf46pPm;sR&9Ot*X$SXPX-xEdY!;3QjKo+1R|LT($%26g(MwVvM<LT9pRnF8G316PR z!^WXSMPcM-VARzAj-jwvw*FwSQd`-4P*xWGLB5dV-9!@kEAhW9iIkz>#*oEA01?=> zJC@n<jOF?0bCUp(woB=4>3YBHThaS5v76;T;+(G((B)<S>oCq{?#RCQ^XHGh$30a8 zc4W}M4*TqmlN4@`?e?!}jqR2vJYOtNDpH%59!|fVME`rwzczQUCd;0%dfKL?{=din z^FEOsZED8a88^*>hn6Shsm*w~sS@@(Cmy?_hq@%hDF5S_PsSNIZ|7~7iZl54$NTRO z`CtFjQaj362><;4jqC00om*EYJdU~B*x2}Bf}50-6i{AKQDO3ijEpR6flWqcEn7)s zz@z7KVPWApD{JwFp>1+NL%sLqj=H+~`tb+eYCgh)v-j@qwKv^j4pw#Dg8Iek@k9_4 z``Dx=$!ex&DYmw@Ez*}of$y}){o%PQ)z>hn(yrg!^tA3{4Y;)_99TB-268SiJMEE1 zzk4;>FhyyNr|MVi(a<mGC#veu4TAJU0Z)pZPR>W_aQ#1NE3U?-1Es~pmVCo!O{D@v zj5GU`0y!8NQ2*DVM>-&oTPvY7SLdi=^`F;9RfA-<1p<U6Jlxs-{X|6~`nOw@UG9F- z=vybsv5y-x5dw1!*)(I7sy`&6?QDP2XBX3+Y*6-ff^DI&HH8V2jQ!X#x6i;9o2jDl zB9(N^ei5^`W?Ly%zZ9Emz&exe@B$t}KU6?N|9Ks*yWo;#?EdE;5+lbg!m}HOEl#Tb zG!Ias?zp-7fJUv4aZ^&5!sEPz_n&_D&!^IxsiEL5$D4I1(ceY58ydD@X>@$A6Lws- zMnT2!D4kqYDCM_3R=Koyg$hc~_dpp-dRXI_{Flsxe_W`4`qVHJSUtPww{qT2Kp#+x z;W3VNY>CNM;F;F;Q3g)_KVyVA_=l?T((jtW#EE-_|6g?cE1YG~p_C{YJ)$Gj5|LBx z8AGD;6g>KSgq9htcgOYFVzDtRD5F4r07F>_cqqDLje^&ZX12`WQ1wtXQ#=erE0HRf zMs_k`0~QpG^3H05CEyqjeP_>gKb#F{HEIu_Ll2Vkz1(>Re7XC%b=_esO^9<OQv%$l z@iaO{xobQ()PY8{^doJ?iCzX&1w}a+bvZx2FAQpHXV*aO>O8chQ7g7meW*hM{{2At zrNVXFmfEPXG=LYIcCo(t{HX+K6+NGfbPZUHb4$#y)yG|@&9AZg#dvVt!NDfws<%~> z1RRHOZ?RT+Z>_x@e22KP`qCMSb?Ze*%|+=!<?9pQA~^3#Tc$#`^VKR96E-$v>c<}% ztRghMD7f&z^$I6dZOWt$i>Ck(`V>7uSGoT`@%5jD9=0Dc1G#hSwn=EC{+;GWD(F}B zzD_>WR5AZbaKD$qTat*qwColtn<QZnWQ%L3-NN|-=+qbcYy%{5f{jPc#n*qi?tEN3 z*94IfL;NDm924zvan}BFcXH?8bv>gk7f&bEb-SBQ50Y*&YekbRb1p_q8!?IpKHQ(> z(<27@$7}88oVSy-!@CJ3Mx1tc`lOxZ%XKOx?{`Ez!*;U+rN4jw?v;sx)@DO^!)TXy zbuHTFlBcNXW7~c%0#VZ=Ef6bMLyOTkdqR6uo7>_C)Ty>~*QvEl!g%=yPdS+f&%(lj zd_bLyoY(LGbPwIRdb}^p#zVtAIt7{)2AB@}CCat6v`8)k!BQq&UvM@WARxScI$wKH z*m`Itd&${p(;*L0kTF;G!&Py27=;IZyfj=VMcmz1^zcu0R|>xw7c4j^ra?Sg+B%yk z%%v9}<u+h-IzBF4*jK&t3r@KgdC1cjUo$i9PNSd$SrxUAY&(ow?>=8I<FYHowb(?@ z)SbmoflVy`PWOLT3htzi2%1MFuewhRY4!j5IgVn`uWo#e{OqWz|8=K^3w6*Y{dSET zxHEz?RjlS2!B=u7)~__magB`Su#=VMh_TG(rt0LG12jw;<5wtn-BlLD%eOIRcfX3W zF1Szxt;Vi2Z>z1qP_lE;B;V@;GLYoO+d#TSc1@}N%bn3ne6*{WOYt}&RuRqvP7V$S zF4FF5urxI}_vfun9MQA>_{SKDKe}S^q)k@fER*#Plpj(#N%gOm;)a);+G!~%{J+i^ zBjDF`*s}C9Gvu<y3pm*L#+r9Kqh!*LLUyxX2&jc&{A;4k`|(6JmnIX%YEJYNh;w^a z5Gl5-k>m{w60djGF)3St=8lO^Y0bGGWB;eK9%Y>l1CvPV${DtD8nAnW?16`=Py6Di zt%3=|W<B(0h*(88ujpk0{Jd_rlM%NLj{`WnI_jNj0T-l)W{KKnW#3=2F1~N4I2Zjg zTl%i6{qe3ntec2_f{zz&@z8=r_CLDS-{uuuit{&Nt{pP}lP&+R^C9!6<Ak(hKX&Se z|861#Ix4b;U%%>8BJp#I!;xn8_6Jqg(+AHr|N2rW3&OvwIM+%O9>d#4$)b|>)b>xQ z=@O=KW9d*m#-@q?Lf_eyQ8o_mqeDpfhqa1IE*h5}5|inl8YiM-87O0((l*TApF77I zoc9v#0?+f9H*Rhopa0RX9HLn(UAB?-9J@b@$zI!3b?r-c0*XB}K;-HjSL{oIW>XF9 z-S6kk;=KW#$d=HehDz@2+ze^&)7sOkK>2lcTvR<+mlI}Bt=L$24IUn?zTLXz2RV(E z{I=^BRFfeEQMxx^(Biw5xecVOQ|x}VD7m4(HpZ=!?O0G{z<~UzY&)<WU7$;`b8WJU z;2}5vnx05MTgr_$qY3OTKY_)~-5%ZUE(p%hamlKq9A8Syz}C^SDIo7ool2sXlu8}6 zo!1jgOe!sS=0Banc5iZqvcL{U9XCBVu_ZiiC-a@VNsHV56HaM*kN`KHf22xg5X~bu zLPYkG;(zs!zrUO%Lr^y*mW1kBjX13p59gik%9y+K!p?H3prY5SS0*~`CT2fNaO!?b zt$kcAH*D?Gy5p^%**R=2B^%bBe|I-)QeD_@)$XhH{qk3-5SDj9*{K6~`uFdVL3>1X zzogBrP5Lp$x6ACi%5~@R>ZFsy?#Fv@JeuzcF#gk(=z&WXI9+6IX*1<E!9S<(!vmyj zRqJ_ZXIB^=cU-&JMX3?Zc34>0PC<E1ICog<=rb(OQU$&WxXk+Z`Uh86*H8_dQhSgb z5fv5u`j{SmeM$j`?vwgJ_sF5uPCK%E81J8v_Wwd)(Rp>yARHv~yCO-LxZEGGPumyC zmv^^5J*$2~Ex-x0%iQ>>q4<T6Ry^Fv4?=CSJ(QHizCNqxbm>4iCVKhOH=LW?bO*gp zS>|b9lY7*ziyWZDiMLX_eAVP3#5-#uM^lM2OW;OY=%~0?^3#$QW-a=w`FpX`$-<a+ zy&ZHxT>m1#H@8uzy@-DxLs@I`ewo*z(dHp@4o1S08!nx=n+dH;`Y+%v-vgH8Z;qCF z1+P^^Khq}1L%Ru3S>P@Hg1F|oi((JY&%A|)Pc*3J<k%)zndz)R7Rv1|%lwOU{D%&3 zN;BHBb4jxcv2kDj1Bpebm`g{bgEY1mNLR`@-g&Tx3mD(;a(|79BVRh>X?RU?R?E`! zYq*7vqhWpLwSO*8+QQw6>q5B#L}}~m&NgIyA-2h|yiFwyV$zn_aKq{L@o}tf<g3L0 zf!r9!U!u^|iLOm#K7Hw)JsGgE^|9~s!JR<!H!`i%P`}Bo!5!@SnX8@eeYytgoU1_p zTA%E;!i^LNh+xGR>U?bENcgC2<S+CoowkF#EJ7}vp33KH&#{RTp+`X|Y8*H>-dL2c zU8ZlL3MV@e?aOtVjY>$gV@Gh>b!9YOc5i7LRo5U|?;A_X+gMtzXZ4E0fUiwlH1<}S z>z$}OU@kT7XI*$%NgW&!piGG{Er-vkzN=S$7WfRZoQYI2Mg8Ea8F<oj5irdK^{|{v zfXO^qYgMrA2`~tf!pqKH$xYDo1&NQ+Ag!T+^>%Z!@MUnu8gtvVtRv3?wzc4iyINgP zNQfVv8(aMdnkBMCb$vfVfwrGb#suOCN~dfG1A3WDyK}o0zXXS3F8EKuED3%KWcvra z%5tg3Ti9_fFCkQ5{?TcC<+8ylbGPO^qp9t!-gi)2(pBSG9F`w1F;p+e0Fec`Serra zmJ5@^(XfcFeQwqQ+p#_;ly0P${a1Vbv-A>MeqBo6V}I9SOi0T!RO|xicf>b1Tx*PH zrm3q-Mi&56+bBwRyzqA0pIksAb#=Yq5`3L>K302Ja2sFr2WIzacZsYcEZ~;5tDsZy zKQ!szNb@sQu%*jAnozVLG{2fOCab)z#tpkUgNEkXWALSzs`D2^LplwZWSE@PtY>ze zSbE9IhKjAoqCn~x(1X+@9dZDA>B_H@GZu>*>E^Vym@myJI(MMJDi+6ttyHeP!T8lI zZ;)g%(wlLBUlj&qv0t%q1e@zgP2!sB@I~2v-RH;dc(b#AfbBTIuc7*@4k`*Y#yS)j z-f@b*Tc-RdX?d@;RyL)jB|P!K(&Ny!pw+)rX*Qq20&T+q{H$&I<wg7&fm6ctjUPjc ztdEQdB@DPbgron5ps&+^S6@aL6!*PdqCs7fuLFMVd;ZO6j_4m94~1l&4kcq}&+es2 z|B+05{#^(jPX!QYnNApR5|-T6qm-!Ps}&JSBsNVmoK2LuR1c(88G01nF+N?YpI&;^ zpZ}S+{r+P7w`Pf~_+6!$8jd2Zd%;XR%45<_q*0}*h4oySf!D(=MK^DNOH6r-RW0IR z#ts4hqg&lg6bM_(by%v~ft~K_;r}sco^?PMO;iNYJS%J5N#k?d3oZ()?m{Dyq|6F{ z+ticdKNEP7;d3yU>wiaBmY9l#K|t$3%*8U`+8^+_G2m)KF@hek7bq$BYI;#GW5(Ly zi1lfWL`&6*^qC3D7!BJzdqtA{s{RHFs{T^VFUe)^-ORELu~Q`Uj=TH>85!~xc|YGu zyqI=L*Ng*2U&VT_`<~yl=j@F4@q%|_C*29U9y6sXG5Xf(Rv1;td!A)JfI;N@4=8~@ z{Cl{zVd@qNra7PWRFMH}NW1L`62z>Zx<mTnCI+2^Ban5QZ5fFSR@ct^>FIfz_VSQu zm?GR7_)`cPv-~EcHS%WRw`Nqed8}jZPopm#8P9gF_D{pDvb_85=%jpVuqX>Uu$?~1 z{D&0%YmtLNVlCV+6JXZENoXUv7+J&CmzUDpsY08viESWn=q3P(1?7q0Ztk%abECWC zqVu)d9QR-OMyf5oe(4%`F#T&IPGr@sa=tyV-FfS)VmKq|fDp?Q_GvZL3~Ayf$?jU@ zmp|Ui;!eE047LzztBoJGAd>;U`r=x?_yJHQknM0`%aKQ!C1q7t{!|o}6Dnt8V?-~4 z3CK#92{cR*u!xRv4Z$0eynKIHp8t$RO9$T3$WlS%N$8Rh>2lb;BOmB&tN*Qf4J*Y( zPz=!szRXy%JM&EVt#DFs5bBAztBktHqU5|};tOT-?aOxX<@)_Uz}SEDnGO)KY<ynn zL^YB`-EZ@5w5>giO&*kA0&6@{3!#d>A3QgEa5geMS8*`3vVj>l{&!G<7;^55r0qX1 z6w7&Zt9ml`hLd?kBH)kVNGO}18&_t~9L{g1iaTfE8F!=n+rO{EW{SnL?^03^WBdVr zeb|i*Ui~{D!LAGlG0f9ELbHoFN*&FDKa@3}Tv&PU{LBa8hGG)bY2L&xRXyF>T@djg zyb>TpP=1e3OcTp5<>cg)RDUi233z%llHQdf`u@1U?4?9DH}j&JGsvu*jh!9pjU=k~ zu=9=UIis6^J>Vnah6oLdu%fP#-FPWd7=I`AO4=R?&Fx36yq(eOaA+RTW!|UoJ?Ap0 z>+!<(XvQ$x5?f`aS@k(oSt|=}GUuWcb<SDoH+*ux!uQCb%+I$_CH6jDcoYs6U`3$N z5qI1}B+79FEl1AwCjyX2QnDL>Fn-MC#@(Igo)_N;r*_2tOC1h*+hC@!)5ixVFsy^- z(?6oI5E+eNZd7=xRTe>sR+$G$j5;J#)_lfKQ`3TtL%^yfN~G-h8?zTae$3eBUl?Cg z6$?!qV%svVnHkG!?ah^!E9RNuci3cSKmu=v6MyiWn4F&WkgDN#N6?eIs(eWYxw#CA zMt)bcW(-=;Bd&a#?LYc6Xk6-cE75;BQtc`q3s<MW@5zpSKJ6F|cEy4>01%9#CUyN? zv4)6Rn2U!0fK4yh`S+=2KWx?iMk=POeK?N%N|8zqpICl|*Qkvv!*kU;_~&(A9%HuJ z%csWj9YMsQ?3BE3!rz+=OHr#LQa0cD;}cc*UJMrdWqHi$0y8V^S6dc#2ViC<ghvuO zPYK1gh$&z#6g$|M|Kt|PN~?jYap<Ir9hCpfN{SukLg`e;a37LqI#pWW7Qb{{3HEE- z*Gz0E>)yAkb-)TDeAEB!S2;3XPihqB@`oGyMd;m5kk#`&+FS#n;?jkrDk4?T$|rr# zPYa&tALR7m9-JvL_u<qN`m6P7QrTp(KxuW=_q5gO75uVg4OvGT^5G}Vr)BkKUz{hE zSi?-Z!*y1;@hB;=>ImT*)o%M$&S0sV&udB2SVuH_M?WEu2Ji4L8uoq3k2lq@=e)dY z8F0ktm<wC&Q6ib4?{V!}i4kI`Kk_)ln}A+=`L3w6s_MFKyHjAd%D5BtG}Py`{V@Qx z%^SGiiAwKx7F>MF%gKqyuG7VZzL66eeoKRA?}W0-dK#_yfTX9cvo$haXU5seHOW1_ zPg>OMiO{ur4m-8rp0&oHx(CNiiE_f&h}W4OKlX#yL07&I5&M9O^~)j7a#$WtitAXl zQ`@a&D@0~?R_%W`Icp{Kw9)hUd6vwjdvCnMFmCqi5`!KKJ$Tda16&FZ(bbrk7^z;G zyv!h!jMYd{n#o87++A!rdFil2vwjc(7QJ6ZHd96v6{`^4#8$zd{A0}$t=>;AT6nC& zs3gJZi?7wcRmE#!T*ZGynRq8d$=HxhicM9KbWV;eSBeR)BT~?&e5pTAVm-HiC!N6h zD`cCI*>OIDDXB=ky`Ao7A8AwWgdlN~H4mUUwIv0UnJhQB2=~G8<CgLbe_n3J@P@5D zKHNM=I=IH23-IjpV&#G~HjxMkr+&pF-6)?ftg<7~Dn$^o?yorme#Z2!^4LbyeqMdo zM$`XDTFL3vKl%m|{TSb&e}l@m=NmLHN#8`!`TP`n)NbHeF>i8*E_-K%#s6^rk>9^i z7Jm$VivU%7tu(ox)EG6n*-Wo#QDC`LQCyv@ENN%vPp}s>D$3EjjjQY32A1-^=m>s9 zQuVoO!E0o#V610#+Z$iiDpbQ+L&`i-K|vjU8H0nmD(UlF;|Ni(i?CXT=tO@!Q`UKI zCi|Yf{S*99vqjm6>esX@;L0V+gUq`Jby69xA3l;`EDwEU_#;xjxjx38pEcf}WOk(2 zY4NID;v2AzR0;YMBC>W5G<w;Qp~FqD4dZontie+|Frf}&U6V{-rN*Q70txFLtwZ>l zhg-Za{e96><}0}P*5#WOe}*r-JEFZXoUcpx6N|1gF6>Zc9SXlv>4bg_5w1|F;b5=y z?l;Cf`N-{PK&g8{S3%KhkEi=!C|d3WQv7EPR3JeTp}?mu?k4-+3ft0XT_UYl8e9@3 zQcI#ffa6siXvRuE*H&R)38>Xar1aXv^YxyC_}+L;vdlSuU^?;w`Jj^)xLuKvY4Qjw z-OUxLP*bE&Z+kBRb2b#F6rbjKuVSL$4&JKxh<~_w&bCkbTv;ae>*b5K+p#)hw7yq^ z{H#(AZTA<$CS|2h*TwfwoZBF8i(!I&sIQcjOq2Xi=52#+zjh_~-&!AL0LL7EQs0~m z-|S+m8Y`f>vz;l(3rg?wrI1_|OemL7H()8lcf_QfO=i#_o8rgLpr6I<I;QE+hUkB= zzaZ=*zTg6l+Z{pIt+&I=^?^TyrJ~0kX37I;i*&Ulueioc>Hs<V4tKqtr>mo7+e^jc zFC8tsP8un?oB}SX>uGa*Z(r!4P(8#7s$S*<X8mQH5-FFLcv9O^V-Ry{Sv)hly`}n^ zRg-LsU{t%7z#8GOJ8RoM1$vtNY8x~?v@|jCK?uUytRf6$=LiG@l^_~b^=i8PY&hej zD$fazvF6zK#dm3%t5-l1$2MH^yv|jEWk~&R8I6RJ-lwf6V|ST#KIjt+T}6GeMNG90 zr!OosNZLB);cY#UjQz8fW={esA1JoN=X#erEbuoa6Zq9W-OCQKOGddaBt!e`WHkV! z9%$S(1xMCV>wHxS7KUV07@-pZa*g`r)Mc0I91zm(rW-dbn5YRD=ScCfmMi)+eC+{R z|Intxhs2pC5AP9Z@F)LE*a#+9$kC;F#GXz|Yq-&K&8Uvo?+4LJ_Ue~KnV>U-VY@Rn z>D4<PmK^J%R9KGMlGb>$XyLv8#F#}gguT^pL2D8ztKgQ8MKXsD*xLTu*49OUVouoM zEE_E$ZywtuQfY5CJQzplcDWQ`mF>Iw;d&Im)ZPynpg2r~^v?)sBwyH9FoaPUdGRmX zy+Sc3YuHIES&3BtsPerT$KtYacgx~#J_W1mJ5t3R@6PS()BmJ%bX@5m>w5K(hy?Vr zh%Z1VGXTCHfLL04sEe`uaI_Nmh;US=l!BwL)tBcmfOSia+B>sVUZ*r#1XvSwqrSqr z3dL5`FJ?f?V(JLGdG&~{&nI10F2IC^LKx|%rDgm!r^oGaWJ2v)?*DL<q`v{iENfT@ z?c6xUYaN!LbfS;zp+w>Bh-0U+rHL}ph>4%*laFT+GWgmC?wWsvUB6yfD3SDXf-aFB zzyp(J&>WT@&zkKwS&gIbv%mXZh9ZqL{eAF4QJiit9qmC4m~wnXv^gIlJx2pM^p6$2 z)NMu5WM$sg>3(;lAAxlxMn&ZipP#x*@4fZ)?5G+nT+^R&6u3&rxtb~{j1AwQ+qGx! zkQ6J5`y{G1Hzm~ei*#x5JRpUY-kxQi?1&%yKIj;*D~;$trv~^v0WMmuayfSJBpeaz z7gvmKMAa!U)+N$OHKoTffsgs8!NVd;aSNIp9Grf!S8Cxw>>rC@c^C)Afef&q^FHBf zdzwtHyY-1#r#Rl|9Ky?ZlxOG)J;(UiHS1F9&hUDcj*e#}86CEPZ8$y*15EwLWXVPW z-mt4;Fw}=u+^xpD^K~C?#83MFm<j*A;0DQ7i$3H=>u?H?MDq1S-QR)(rS)BUw^?vi z&e9qF{9&A--%KGpaL=-RjOHwJer51slEd%VP9!bmu4ct5Ny;?yr=N2DDGG+@0?993 zmcGkUT6x1vsb;Z?MH$@Q6exkqvrxc6CIU*6M{3ewJCk-+oxNgjD*Wb>-fKOWXR9%= zpVsq>o>S{6yzJT<%5T;Oqw~?oQDl|5Vbd6~ia@fa+1Mv|lCU73R^Mw65)~sq;u3T| z;s#=-D<y~eh1*za&m#KAbu5`P;RT<dPhXH_AlATYDOl2K?$<{}y+P;j82272cI<^+ z5ah2}akDBna2dR?U=@#N^l*_xNBPQJdT}*;=h%djjW-_kK`jveF~<oX1=|r{fG;is zXFSsEtaIk^?Hke^a*TkMPVcR!1oWxkJ)M7qtnnIS!qv(cNZh7-EAkB<@V@!(kvQN1 zsWNh0*e+ov*t-`N7H*W*ubsQW3rZhn>)W>Pz=<F_D`9ck<G5LcyMSGZN4fy`RCdHU zr2p>Sjh<s8Gm-=a;yj+yi!5+FJ`}av{Rt>tz}KOrmrTg+@YMS8kwq=bbcys~3=9_A zrI|VqbCl>n2{@`$T)M8?$c>=GcWQ54KtpYEKcrHXa*wSaJn%TkFP(snBtFS}&;Ta3 z28qXdU+qm4)wiFze^{Y3j`sjv+vK%9qn6OjhtM};m8>SB(NN<YPfFWdEm$VpplRcd zd0k0(P-ei<6_4uI0)E)!W?RV^OU@Yuw#r~BlQSYoJv-EV`g)?R%7UwAaFby2VG2C` z>!YM`sJ9uAjVo4<r$83>2z}m|QqUvrYD~u&X);>lNzFDPf_kaV1zyMod#tO9_8=_} z2NHQsBd!mc3O~>UXx>nxA?lsff@JNi!e~S6{QlXknV<aS&x}bwy>L;9&m(^7H#jS$ z2s)L;$b6x{A@-J!Wils8S5WBP=`h-Py-Zy}FJI%d+|Wro_vfttIo+Y+SHCHhN0KZr z(-sNv$1f75mq@LZKz@G;D?H>h;AZJ$xgQ`K9SALv^GXCg{<WOs!Yf3w#g2VXcQ*qb z?r)`MjqW!oHtLof`SVe1;3PdRYvME)3k!ex%JBmchelE>w40>6w_y~9dyGP*d^rYv zL2nI^E}{%60p(F{@-d-5J_%A+@PthlOK+?C%6n!yeN?x)<n;`f^7SA})^}A(5wiPn z3XDuBT1iwDAJk^4u%&m2tpuE4`)hryzzwP7=h5QqNWHb6ub8-*=~fRy37!r!X!bbw zeuI*^ol0OG6N_v9VZOqo6@%tI?qBx_$wz9rF$n9#>d##|66^NxNYs@22xKPyDJ=#2 zhj*OpiM`~dO3b-IGL=Q!hew<#E=@`Cy5+L#laB|_psHft@4YN0OE$>yI<m!WzAcfy zHIOmx0H~dUcKU*)JdWm_A#soPX*J8__<p0>!K4GAoj}C(Tz4;p(UZSA%Gpf$L-qcY z<W!MMjN}p8o?8vaE2y>qOCD8kH(oedIz}30W{XYYv7HkO?g24F{AiG`A2x@v<e%5^ zOOG2V@e3DTzxKS~xdwd-)aFuKH2z@VJdUw!`&pr?k1)6j&y{;NUYN+9nCnFj-6f;4 z>FH{#)EU5c@NA=drL2nsj<j`eZzmM#kNx>~=GFKJWab=b=jpI}jOmcbepFS%6wwR7 zgxBh(V1#lLa+{$c78{bwb?6MMxCqQGI?6g}bd8;NQmt-v7T^iobo=oa4|k_`ce$-N zq%8BBARyvd-)kk{RysazBC8r9GkJsa!|iSaum8R>9Uy2WA_(`0{i}cGs8}7ibpYgB zsp6#b53HXPM*KI%Czc|0(P>S|P5KU8dT919ler8g8G=ZD70f7`rbW6#PnvI5eG#?J z@jw4MiasxIzbew1+%?4g^z7=Nc9L)A)vFs(;6;6kqMWOeu^D+xMLM9lbG9ouM>FfW z28_32mOZ00?)wtM+c;lf9{ZFYc%ihhjl&yJILq?-X2B}EdH_1t{Zk{~Pj%0@hx2tJ z*{zxkV(zSu+Nsg_WU{cD8UrML@U}$mO%TUnwgZYQcddbyX9iOOKSza+$?ZkTD##xX zi;!jy<Sjtf0$n_;Bj}7pN`&enZ-}o|v-#0v+pI*4du8UFp-gZjoy!nH<Q0<i*=Gg~ z6mjQW@VA`dyAy-`_&Pe+<_<2Ut$9~ty4Hy2B}_*sWrY{~vT@d6eIoibQ$t9_g@UK~ zh(1H;_>z#VGMjB25fboE*{KE_)%v~GJVd|m)!m|9dFoVPniEQ-mOSar{#3sMCRp+^ z)&esY1WVmXQ5?>9aj{M`q{EUxxsVITCj>A2@UMw0l3EW!NFk&a9^W#9f##T8yldtN zt+3u03f<4}-nun}vNYxqDLSLE6@xmho}A?yX_`a*{x;bP02KX*DpSIfA3<+KEuJne znx0C55fLywuYqMYCwr40H~2GRm6gu~dL(8!$98qD$QsagXt^WTJTI{RI@=kN?sF!7 zH7+Lw3+BR{W;UkZmChJQJ3|TsKI$@%sN<*bYIMdPsP1$6<#X_B)SW)bUonvEr0aQ6 zw%Jl$TvOTCbqlWReYpO0Rzc5pYX)@&S0h)<`eKPj90jNP-%w9+cQD0eiV0$oKk0~V zbcqM*xW?P1J8;cEH6GS+ft%@}3ie;6CXrQhJ7*lJUKKO`!{&>V6%>2WeNH!3`+Sx7 ziyyJ$;aqYf6IE_R(6(Hf4?63Z<rn@C;*F?Ch<MncJxWlDd=4b&&5KFGuBZGeSC4rL zG5UP2MCYJ0t0ce@-qU(pTGyjRR8oWtESo;e*4Od+K*;e$!`WtxoKlG}`BQa>zjhki zsZGg)UabxF>}OhNT=Q|AQFu3z%<`StFzOd!|3snnU@W>SGBiB<77V1THnY)kIaWXI zLyM4xScToguc^5N0<t8=Na`a$Gj6&RBn~AE__YmU68G9a-R-9VzK?u`K5?F%QUIT} z;C;OV&LHWpBz|UOb!h})2Y6GkM}`1Ua3TG&uhap@v(H3g85|bn`=#88=bxery{7I4 zKrHW(spft00#8*G8TNAeH6OD*$L_)s|H;H;hZ%{leUM{8e)s475$&y#omY?&x~sO4 z8eW@A9PEyTm>pI;S#qD%jLw4Se%&mZ9`j3OD5@KaL!Q{J^l1x_n{$=M=r~}%Fd1Ik z{%~zGbwKped?=sC!NkZI<MDX}%_gJ+N7Z-F=7=<wC^H_C4VP3r>!fyS*`V^-9@4y? z3teKc9Lv~7!M1kk3(<NL2pQjzb4DNyf^MdGN!x72d)>uCLPXxaSW%#x8+=DpZ0L5h z5vegQ561H-4xiQ=ojTuc8`U(r@r}yNEd>!d^vR-=a~g|8v7g(7zV|oRK+?wD7J68g z_fD#o3?|n&4^LoUw@h~Xf~)fb>8D^?#@YyiVEm8~vAAc=uUxmPbAmenN5muiGaJ-J z`Va$kYtPX%q1>T)eyb`f^$I2ht@D&)#*Npx^ou5cV*lSH-T$<R6kEwMN3dVX(=vX0 z?Q{G3?z`R)>@)CPqH6%8D30wth3%gq&rYqtEVI{y{E?L0oO)Ic3LCK%OcqAb74(9Z zvE@&VjbwV*3Vm-*vf3V_ShKJ#Eai=9kiwS$q_c+4WmDdWU$z5aIw85b(HTJ}Fp;v| z3BVr1z$0(KF6HY+Gfk=imbX6?9kYrqD+q^p^+qRcAoXTPzBhbj(>t(pHSZj>V61{A z#epg;dQ9{l?#mu$KKFx96lEt~^}8gsPy1qwvxObfo)NwkO!=^kVe~xMB}AAQihVPd z>7XWAA{S*;$vp`*k$*+}G1-TG`#Cr<Ej}n}Ao#rg0)V-=X>eguMoA&+IP<$Fl#I`k zcweo#5<E}uub#rRysWNn)c=2(!X2zxfX{TTktgy_RZWk0$p+-Aq9$&XFRhImZg;XH zyz$6|MV(#X&G}0&T?)lwCVKYX)d;Lj)DgS0UN`)pX-E1e)gBjI-Lk&GFNqd8UG+sw zKLG~O0T%c*6OBMCWr;wL)vPZvH~pC<(ozH7ss&z-irk^1R$=E1>ZY9a%RKP6AeGQE zC!BdJ)vHJ3Tts6x+;{CRt2P^g;4)|$X`kp4{iU1G;l&<>V-`htOvyl8>+J>yW(NF9 z+!>IZs<sAd?UJg?o}n)KZ**adg*>EiE}=S0?Yn=3mL2LkPt4UF<~s}_eS>3<n5L$a z0MJfx+0xUalwGAuuoor))z$*VTEHPKJ)Tf1h5xs0{<6t(pyBe}CPn++&7^+g8`;+$ z9w00<d6vqD{CH{dzIb~2-*N0=T;EdO<Yj(2rm9eyhLIC|EN<I@^b1erD-!LV5bgiN zeXrp|9o>Y1&6{dFnB3FF?zv|I!jRJp$mw$#-!_RM66Z)gdD=V@ji|TVq2mf(YW~NX zqzU})G9)`;VM?OfSd))8hjYC5(E4`wU=TohGm@!G*D90D&}$>CqRhTE#(#3MGA~Qo zd4M!nb?ZUp@!W`RK`k(r3CCgVlKP9iArjddg@+P0E%Xn*Lm>Ir;?$nmi;fMoT!Syj z_e3}lX+`Eql=;Lj;6^XMl{MH=>D0{vEqGQSwTrQ0q{R9|EGIFpbw0b(1U&y%`|TMj zB%kjGg`w9(uamhB1W3)l$(OF3D)I2E-!QOLuYO~^$3wpqOy?I%&nkVlkEHr#SyHNj z+6WI&4*2p9M(pX;lv?%EuxhE4;LDGyVnW}4{D1>vi6F8*5fzs2{|~dDI|AS%Wb@8) z^!D%kgoa|QfP)c9)uFr0&G>0I5jBasQ)^=Sp=7)P3U{U(i!dtcA-(^VMmt?*x30;2 zMd(q~XQGS#g|!lGqBYx~UX(v)R_QW*K@ZYf384m_?N&>;71su?U#f?)-=pn$MN71) zKui@oJQ9vD{H6#y5m#YumVc&;rQq_Ug2GxmkcJ|aD}MJ1qoel6hk)!|7@uO+tF`>< ziG8jR<0Zg}nP7$D${+}sRf>-d=okb??55Hm>$&rypF<MrElcHpnB#E?A*4M|^qv0B z6vA|>sy3k*vtQ~-4^q_L-xz(=gP@>gH*W!doIF|>bp)v}l#RsWVeE-uGAH!rjMdph zzQVau%UuyItGSj1Nx+`n^hA}z{D6N5Rxup5cN|l(z+I5Q#~apFkqlMQjW0-uF4Dlw zGCC(Q`419c{rtbAcQ)q5w!FNNUT%$*NU0vm*DrBA^L9wOB88zx5HWN*cjBI>@-I!r z#S_e4ioMPj{ucDY_Ho6t*q5Vi+ORzU@m^j__{c?ZE07cD1I`eV_>{7KVyt={jXOD0 zy&{_$b?Cb0$RNTytROz86lG+>xf3O?=+|!X^%z-RaYM0)ss>=5U8ez_?Zs`yfs3Zg zqO(!PiYWq?J8w)zMljG&uB{X8@)hHuZvNQ5T2rJo9nk=qbA2-z**dBmhD9XGv6=F} zM(xTb(naIbVMyVZHddEKM|w&xku_vGRe&&MeclQ`YUTd+(mysfY44H8K>QB27k@+2 zzAu5vHcohlEsz|BM{)ZDGlE{aE8D_wAE6O{IUO!i@W0g+q{hM>0uWCPVX+^Fdl*^~ zS`@I9G%Irr(CT$OAnqc-2CgP-99+;+xa;UfENN=emS&OWaa4jC=fP;;iQaUpxP`4( zmsX_JQmg(U7M7QXFdmlakY5e76N~-{Pvh1Tyj7V2?cBfI(vv$Q<K9}!O~hTSD92=C z-sVVO&PXu89(5W*cP+dWf?0RR$;MVATwx^d+m|6$Jt|x|;lQYXoa%_Hh?wgaQ&X2o zdl;7^A~1qaCaWk?G$$^PFpPb95O(AeX_ozJ^WeQvEYrGB_c~>f5A$&LE?1_G;Y!eK zFk^jSev&_}J>c`Ku*VP4_SIJ3h+Mgdrc8{bjsm4bu9U!7AR9aXgNH-4h0P0yX;>vY zPn7}%6e<6yib5M8ufc|`-J8tH-M)g-6`tSdT}O+|$~ny;74?MGBXk$@r15vcc*9ye zcy$^<t-{r0^X*(EItF$gPw)f=>O8eRsnhgj_<dWVru1}_G7>e@TVLTLgh}2V3AS;g zzoKl3*EaO-B{zMKZ`Pl+NptlNo$<dXMwnP!o-{MoXJZRX^J_}lY}&prP}qHBioX}b zRgW103wG)lgyz&Iosp}IiF8d~6+T1fDh+guRaF~v!^hAFVluW<0koZ<uFwH<#r<Hp zJSR~#VBuf`Q`KvvE9d<i;YxZWIuEP{%IPVi&5zL>88mqyryZPHptKTS2$50gur&L8 zP5$!A<}}>*v~g}n_H&26TG(8<(J!ZGd{$%n6fjZvGomG;7x^fh*p?$+GH$gVx}9p` zue6q{IfAbck*+j%fAyD@!!1m-D#{oA-k~NvK~DzN?kWr#UBl|X#u83jf&7SX<vY70 zHBky)^i-<RmhqDdkP^#wNHFLGbEA0?LNMPDRpF0|_@9rl$=?D`y4v%Gv{Y&cShKwH zWJog+Ev2wBZ`PV*_?FH;25;nZEJ!*CWjk|~Us=KH5%cya&@gg*BbznRIQqNGe3KT3 zDT>-!n|pZEgKQsB2*w5Og_LYNO@!o_$x<8Pc9V&mxAj!hfIF9PRA@K>VJIfynXnAZ zINX6={R9QpxZ`a3!a&>;-*Y*jM9Rp5{>ss<>G43@GhE`dWr~75Cm#>bEM4@hy!k{N znGv03+o`JMm5r5~biT6sxrPqU2(3obATdv{q5U8}>+#?suy$GzNblGsE*7h>u(g$- z>X6^y#7vQYDmZyGy+pDjt8r@!sj=1K080{`P)Ial(mQ+JIS{zVbYEB;9($;;RoDlQ zEq#%^W}DaaqL8xJ>miAtCC~D?P$K&6wOq&9a1qUEFX>MyKTt^_usx&QP21imm|@)X zm{HvyCTvM>!r3QY?O$U%HJepJpuk+()g)vm_hYoUsi})XhwrPaUIL%h>it<-;TG?j z{)tDjes$reG(@li8l}wp4MVF`l<3hn8s<o^mqqw1ax^}r^~-w16W?Teri4R3VMlX3 zxg%Mqgc;U+@X)Zx?ehN-^^Cz%JFxgFmnCd&lYn_^jiX2j#<o%L(Z=D7=#|Rw<~mrU zAD9%?t;JkwfUl*caQ=g_Cx44zCu8+U)urcU|518>M3+#{b9(5eGRX<{QJeprE^br% zf>aDweV@38HN7g8zn|!S52V|Y@mghOH${|}&t#C})-<LCEW~f1qrbk7z~i>f3;<Dz zakSjmCyy+wJV%Q3y&FMjgw9_Vid3SmvyWf5>eZh}*I5kzSomqHl0zOr?FiegFhO9F zt}&me^VUF>xk5Ycy@B0Wf|f82j6P*Pz#P98EJLZ+iv8I13>_$_;q>)h9>Fv@D1L_2 z@*1ZyZ%O0g<=T;wSX)!z6bt3KBquS)$a(wt5@Y0MVe*4z3FeNtNG!l_CzYX?hm-6F zj~-Hxt<H{Ea%}JZzzxEs&_B}!ivn0zb5ma)MYI}7SSlzudg$+~>(MiGNGO3Gr`xEh z8*=|agBiz7v0oNqOtfIHG3qJMp)DicF^I0kh`AyC|7Idd!-WH@ESpW_{CW83jy}r( zjf%bvp*cBGjibR4{Fy&>D8c4IpgpmM_HOeifObr%#;wxEQ?;Qzz`wCDBk;K-;%bVH zp`-S>TzG?{VT1E4ohow|*k$(PQR)?;)Rpm47VlCWT+ayw;h+!H*3w$?0F>y5l47en zz9K+s7<Ic2rOjd^A7!P?`p!o^H8kGGI2kPXU%8defvewtDHx6*p^{jT&DqX|^ILTd zT7J0hy>6h@tKRv}3ZYNM%~Qhm?L;!_y}G#lsbXK2P~VeA)&vq1YAiEdd!YYmt7kW7 zA}e*gRhNP1ij7ASmtE+&mL5ycJ0t7y-ztaUy;$ak>#bzuWIp8Rn4e8MQJhzi3gr?_ zG+wk{Fvb!~M_WF32t$r>61V=(x?XH_+=OdlY676~atoI9Uq?S)@*>j6Y~wZZ+vs-b zr%f;V<MfZ20T*;=3M8<3>!6m!w4x84E<_^U8hF`8kqVGUf6^M45BF@p%a0ntH8O~& zR3N_Cc*a;C6N86<>8-)bPOB+sk2P7SL>dPa=br4hdK^<J&$W+*J?C5_*%e(k@;w%6 zf0JJ7Aaob7V}5GQ2}f40qL@$c4LJq?JAx!WHt`shkFDZ2U4ADL!5dQY8Rrz@(%9xn zoanBV>QRsu9CN8W@~su0Rrb@>vOQ>CGuCiiowm0t4l${ly%hf@0Xqns+%mH_uI-v+ zR(|h%Qy+N`^VuU}cY@F2^`W9Z!^OLF$g)#$UfV9Y)6E1Qp!NAJ+7#dJBGpGCHA()} zYQh9K(HI^D&y@%9h%y)LS~M9ab(YzQIa>~`7Da_nck^kR(;UZ$_2kfvto>SUsgx5t z>L|8`Cav}*Q-`;a{Csm|SnJKEv;PB)xUylwKXr;AY;$71s1uBpNG;}+)|#4fF@%a$ z+K;u_=)fyZIA!Srbjc~*s(Dts9`YSpH_}O$xiz7yZ-;^+TD3s_|MB+KaaC<w+jMs~ zC@Lx~otqL=1Qe8zZjhGF%_amS6#;1sK%~1j-LdIzkWOjX@h$E>_uO-j-0%I~f4+ZU z?e&AT=NxO!F~=O^d7ep%=y4xfPjS|>gKT3BfKYIO_*W<n<AbHPg7@Ah+w{<1alDsb z0&)v#x{uF3-m9QM0{aur!n)?vH2`l|;%BoX&*y94ao9KB5`cX;+tuG3Olj99N#biu zPbDaL3;?w9NHrJO;a~I7QX@6eE+TTr)R&yo-FD)qh3np@!XZ*OX)5?brw@+z=6RW% zdj~7x7N72g_XcIB`+2cB-&oeJbkqM{l7VSUQ*JR`oQY;nc&{XwG9rIsTfC@H02=-3 zj*=}wu2%lhL)tjuJxpBUvK_{Ynpt*Y+PM+-W%R>rR?Xv5{iPs$-sJl4cWtMNc*-h? zBH*geJl-B0+IM~N*vhZ0IZSUv!$AKYUe7VA=DVT$_v+Fs49Kbzd^|Q{DR1Z@LzHch z;Kp`$ceh^3jR0CM?d`!CPOXBHY&;^iV1vkTC#=Qx$YedDl2gg?;n#04Fv!A07s*ri z>IC|NK}+f49jxFwiH>=n!#*7H&h86gnn+~7#9q*z@7|p)Z&_c)!Nk5I@(4N#viEpO zQRH7lH*_|@KpW3q`?ZUE><<7LorL7&hDt`3i3&7JNyH%&=aQYHw7oW;!4m*8=-@p1 z<K?d4Rc4?2yAimdBU)U!$MRw_WqWjt#2TA0-yn*fzPtI$L*?e&_&3pwSnXJp7hmRq zfcWx^o)N|tlLMfa)C)U&zLWA2IA;#fn0}R>my~}C84>=%#7=PU9Pe%8BUvgx&hVMS zT=r7`VC)IRYh~`v!!o5sM5bv&#x-I1&1Y)<Pd(Q)j<&u(H%qDIb19PXb)F2FvTKdu zSUUjnUF7yP8vrcOx$jqBa^MsV`KR4X6^v0GV^-IKS;gTb50$BexFair{+{l!;LANQ z+Z6y5f><8hlkz&kyDH6y{_14cb1-!78(ox`KQG{A1Gd|=GjopZ^x450s!iuJV^duf z*aVC%D_w<CCqA6BJdI<1O02#gBhfj8IX9eE$1i+zs({pySt&#T5fQa!Kt#rdDVuM; zmArRC*{*HQxm{hsi9L-)0xql7Ve;v>oex>|>He6*B2#S9$3W<HmXm*h0)GbBQ}#*| zMSk_uTqGd4<M3sC;y?f`-iJm-f97W0Qn6V8L)I@g$z%jn2|I!oTSyO}L%Df;s|Qj= zFCp0a+L)sjhaSja+DJq_i;=$_rlsGTlVJ-lhocUR54=8$giOM9ps5$+e}^{2Ke~c8 zgz6}myZFU67Yy92QtqA9HzN5Z>5S8{?$f#;0zDw6ZQXtdn>!3O++=Tbs#=!3lf?SD z($6<Btgb?{p?Rv{#M_KaX61bv31luugQM^=1O#t78Dw0+h^O8VZBtfOuFpS?_XCIJ zmvEFbL2!;#SQU`Y{Z;h1*q{6P?QAE=hEJSR5BTQ}VW9bk@YXQO>TSE*Ey0FGtj{MD zAyFRYT%kGyYXB@x@2uCdzg+mMaR8P7M<xN1q6TK{uh_acz}E22RZ&yg?ZS9QbljSw zM}0rGCc2p1N5%+S5~w6Ru<RE7q?_0C4zd1eP0F#?c{oeuwCrulAqzny?y(aPDlEJf zz;UsfAJlw7l>{*lJbt_&la|`Szt5DX{#mWPtMWSMc?-j=Ql9gR;ouRe^jU^joC;~_ z(kwtyq!#36h?nugK#66UC0dy0%03_+!l7`<&wq6Vh0xnl`^49D%qN~8?D*yDK^Mi@ zkpL_NK!0@>el08}OmQ94xyoz{G0$~R^}NAFKBU#RQr*3r*#H5V#Gd%m0*5yDUtJu* zgI|?u)7sxh@mQ#~gpgJ~#nIQJjGc_G{!)lvVTs-t4ThUGbevW9JFi=Av#!7Hrv+GK zYofF6N}7jxLd@q$J<Q3(;fz;Au4z=Cb8W}Rdm7EB4Jgd{Zhvgti94INGor{Yg+|63 z%ILZ9#WY*|h`4Hg-U$I(45GWqb_XF2=+>t?okbI?EpFkxkzCOLIF%R%LiuQ$=+JNp z-gMcS>pMTRwdLS>^=P|F6+#)j^;^zoKpkH&d71TnID4Y+PjVYPITs*={7JkfIzw(9 z>YB37L|Gqs*50Jjjhs-7m#A^_NQlc9x)Ijc%b)EI4X^J@=A2Dbof5&~#Gv>L&*b&( zdMF-sX+K+|lj?V3tLLe9dC%AIbaz(&#W3v`X$EuvIl9Tm5<pg^6eNiuAR#f{dY2QQ z?6VLJ+dzNn`B9tbCjm~pUvCb5cJI}*B~dNHHX-x^79P5EgbM*q5V_<E?M7@NPO8oi z{?7yWU3R9#d=A15i2%H6HsR|Cx_cPXQawNLSLKZD4H285%R2J)BUUZO0qH{{I2{e% z$af+zd>IuC;5#OxI3>R~23HV=o_tcibldUWQ-~lXmE13~R9hd;7SwZDJO{{qm_A%{ z#fV2ZbaTOs4nxGg;s2tJ{#ghsv%;{_aJiEd>!98bOOu)|zZV5QTyaQ_mU>Fyr8()n zUu!*Slz13Q{eA!Fyt+U(fm@ehqSkLLPY3#jg;9R!Wc>nwRd(*dl0ox!<j--}LInCn zXEiSkSH=f=&E~fTKKoXkEfLOsMgh#g$sfp<Svk3Rk+{7TMR$pq#al7ZvqFFbaP6+e zU~{&#P=$fB0QFI2@bEMp{=TIy6tK(mDr2QYge;s3#~-LcieyW4%&h6O_cZ9=o1n7_ z7gqPi(jQm@fXcgscOD%_b7Om>B~lg-KeOyCGB%Dezgsqe%UEizEI3V)Vv}#58Yuv? z<)Srkgp{XKv-lnr7qwRym#J<aPx{yuRl9*gPR)<ApQbVSp)N0Hk?NWib9R)uT7@La z2^yF_-T%@8;C7bBo8|$?StEArT~TB^yiVI){qIu{Gs+F}8&d`Qg986V*!=rvQQ;Ln z0p&y4FPan<p`^WRRruovzVF3Raoic^>_*hr<W5Iv(P^iW(h#ZfFsf{xdvjGHjz&Hf zoiR5c0Hmo1R|;^1YaFRAAI!0|S^a*+reg(}zRHZ&&RjU_z*j}A2NgPZ2rk$B>gH_e zd>^8l&&B9ak&pBJ=;hIocMo@^_Gaz9G!=g|GzE~fEA8xRgp!$wtxW3&e*aNS(dvx^ zr%_SNA|(h+dx0MS{;5qyFG7l;$79Kh00zFS_{Mq|kIeS8pQr0SXNk1QYp9+xG~M?^ z=Q9w4L#S~?7pgmcU_qTKVh7Qlt62n}&Zk@NOr-hHq%`{4;+*^pHf<F{#Dt;mO2X>C z^7}8K_2d~jw{F1n_ys>Y{J@I_A**m%W4dE3iFD6?B^2(Twq1U^)zOfGjFSJY3NC}S ziJy@^*h^J*zlNOqUHox?hr^eQmxD>2uTr{Q-O@~9-+DdE5(B0Ov#fT-oL8&T%s-?1 z8ZiRE`IwEL^ekjD-Vq^a2mtCgwN1!TBdwS`K4Lq#0^p<sXT3A01&gQw;`nrPGI z9ZXUtGhGal6D|zI<td>VMn*={c}9cNQfwPpGREPZa8^PNlO}%Fz_T1>M`>51W)YNI zrctsnI+|&tCn@`cBR5C(Ej{;Hp|qX-@djkMNP7Elg<Ue=Zk~X=F~s~;8TkB!XxSte z)U!hyh-Pb>og&$8OU2xLe|pJiu{jt@_a%~h_q(|_S}n}GyT6+_RlI_9%WkU!C?yFV zwann%@mD&v*Ke`TPF;1wUQK2~!0m5wfW5S4EJ?za3mmT-g_Kw1zMIK$>!D9t=`LGt zWZ+|5VfdmKEJ#H)+W~BM6Z92pld$XN$9)IX$sV+s<+EqkZQ2m$eldyO^o9YA_4gDg zfC*A6brK~AN!T+<lfD}YgZZou^DKp}bL{)epruUW?E}P%q!_zp5<8~jvgpQd{Qw$i z6N9-H<I8(eMNBM_o%lq)w&FB}+k>a}Rz=YBtZ!(Tn-8<W42Dl#)g+4ii90w_90T${ zfg4kibS&-BC}leSCC4px9Q=Vhxs(>LG*fi4OC2xNoZD^jlkjleVD>1{<_N02TC(<M z{()%~8-b+FpM0^whspC;>I^2W3k-@By8=r6VyikBTvosuW8l|cYhqs($?yLH6=&hn zDY8qaI_GgnyqC;|BU%sOC*tFbGjVSX;M#5k%CY{o<gj5}-hq7EIaygBoUu|rx{H2f znc}1<`tzfP<Zv1<wMfSsjo=Fa%%4el2K$0u#%a2OU(pqwh}@L3w$1@R%2ksBC}vRK zmX}(-VgUS_)90i#-Bq_`SxwRy{lqc^21XvPj<617AO;tTi+-i$AOG_CiJB<RerpVD zfPigjJO~wyI*W$BL&eCG;4`7NEkTFA>-bdrPLqx5jTp}DIF6e+*;ASrYt?U6C&^+J z*QDuj2PbV!JB9H?n+WZ4<yV{F)*>3-U(W$>E!C$1lG{`C@PUpng%I-K3^bZ2eD)Ot z@Zogi$|QcV9RM#DTLheUWgDLDOFFIbQo7Fo&y<GCF;(Jxvb_jUUqEhyk!xVVh@2`> z3&E!+xb5HtNT9EByLm-(`ql*F-8%3^^+bg_n=?kry{`BeKh%Q!W0=!S70LMTK(0)( ziNGk--5=;{H}ec)*=xvLoVkBViMN$*rtam<6dt&o#ono>NCSXo^RasXblz!D1r4p4 zEToR`6{R1)xu2#7fPho+L8ce3SQ?6*d=Ae&HGSum(knVlzO<HlN-x3$9|t26!exW_ z>^@96?9O=JdFEZsr_ibn=wC{|)`TvvWDU?@8+V1ceWA0wEv4$Kxy=4x8Q1uow)yt{ z!lykw+AJ)}R<FlJCwucSOqNIHp^E{dm*0e$_!iLiM0!?(T9D97KO0pPLUMEgpCjUA z6qVN>ZTt1Wf6Y39pZ&xWS8uu0tm^{~zbf-;a_a-;%o;tz%7Wfjui#QMxS2d#NxBrm z5k71gDR!O+j^353<F#p8dk679RbrmQW%@wg%yC_@;qn$_MQ=7X&|&n)EuUTIbi#B7 z@1%{P?IINNvR0AjZqX<_Ymd=qH&VQ<z<*U?+LX4jIud!yh-D`!-Jxc*%$ESI>SW5M zr2)Bx61bH4te@+|tgI>Z#C=)~X^1*DY@v?FE-EV<!N8olD2<C7-KC30#~NIPoMbl! zpq&j3NiPCfwqmrPN=ZC_?u+m875+EmaW38bA3nskC;a~7$4M|=`gw14{Knqh;cg)s z{{dL)0u9P&*@7Q4_hRtu#>Z)4w6@iiJ&l@l?l0^16|tjZs`<RyY;0`xq-9baRt~oJ zMdm!d^6E9xs~O4N&+%gd*Dy4E_08zl+6FHYCRCTQPU9}$tML3_P3}!-9xg9^wZSQu z4mpQ+dNj)V`EeF@Fu|$EKphV;aKv3V>7XbCs-%tLr+w~SzUgLk3ru4ldl0|(Qz;7v zrE6B53N<5AapV>=a*XvR<L6b@SnJSjpg}FI#!-9tAsHM2DR&Pm=hIjK9&0poh}r20 zmc%=j#qh5TgJGY(aqqHMU1f$W(PccKz!F`dj%;#lqt^Q52y=JpEWN{CZ^(3-x2;Cv zn0Di)-%@K>MS`At&rQd$${yDXd9u=g`I^#$_G*O#Cgu&%VS3!<Ci*mjxA>bHOQnO8 zs<omG8|lRgg9ORiA`eHM6@yR!ka^`T!O)@<e81(+h(nRv<G=)S2#HN|l8}upqkp9j zV-OJePivdVV8GZTVh6J4hBB2A`i;?fm^19tfVicUFI+P4dC;X~4_r*OH*Co=84G~5 zH0`<Wq=;|m6ht$M^gkfT!w2*xoK1Tyr4Q-B9c9Xo=N&cvzB#-i^gqS0S_a^^TvUnu z?KjjOlUPuGOng}>-e1~=w%%8uFCHwQiu$<qsz0_J)~~pys3czTuEI`t9K>1<)Pikk zsM0njOO@6qYeT}cOL0HhL2i?XReu}rpjVL^E`!64KnOA_2ZH$>@(IzmtZt#W>!u>1 z%bg_=f%<iJn-<f7p66VAolYHyn9qR-0}>sa9cj~J8QiVPG1Y+qPfw=<bOzrMa&`oR zbC;8Zf}p}P-VHlwmrLglPeGsiUGeYxlP}&%9k#a14k)bkGtcfey3(<2<l25l+ga-1 zs0tWCPz{|5Sk@9rPj40_^%RqRG(uIWeOCQE>1g$}m4?`5Yig2K>&%T<v%}_j0?Et2 zbM0iX+(H{!T;Lq!dg&!RA-;3YdNRv`7Hy!L<Q)9Z&qOB@cn#@U0Mb?dNhYg=o2}?o zC3<3sFPkOmqKX3K!BF4BbBU|$37Xa_SpL*5JJ$e4?dPcZc0V+8@#}cuDmnl@&NZyX zl+3SD+6LBTVfZ`>F?sV$;*7xSg6&DVr72jn)meW*9V7;)2U847D0pz(k7V%;a1fB0 zlD)ZU=y(2;@6Af5<5kK4gOEYH*d$nDX?WB7h!=-|=oa2#nHTE~6*P3)tfz@fBwnin zQzs*}D<8s}0c6bj*OHtu5X}4C+qkL#bbg22`z4#r@}!6^4TAW%d}nDoh9#u0lc6kw z-2PP!*5^1EWwz%D!KQU7IUO7)62|U-2j$Obj4VD_)cd{eB!k7~ADtkzJQ!`IkFmyi zf9Z+0E&gB}+*tFmB}Hdinb%PAwm$3$cuIc0{Zc3EeWe-ntKrPR$m4L*Ds>H7p*Lyy zPnBAhK3dw^J2=u-Z0M#OMkIiR6)~_M6-GlXh>$6>+0SVEc6E+SvT4xBQh#A#I?k7u zFkhzhe(ncFov)$elskr^6S(!%uSvFqIAxlG=L(D)9+^hzeT~XCFk9@iJ7%B48rX6= z2!81*%<n8035$fD4cxJNezq!EYBc;g-9>6tWo^be?IhKfB67>o@b^v{b>MCDcYv09 ze_CZZ9>$&OToGUod>6<Yfrz!}qc83!Q*Vu{bU#y?&#!xiZT*M9rUD<pBAc_kj6z!p z#AHJ6^p(a#0%9rj1<;Gl{o_LL>~KqQ4FY<(>x_$xxe>TiUFDVjau;;gMCuzYb+Rk3 z=e9F7dRo(Q5Bhra$3C#~U(P|c#tYraqsSTnd`NYvL;*575w|g{C6x#>&qeKR5OYhN zY57#811*rRE%Z3S0458@;gXkw@*c=xPS4OYdS41ik?FH3VdBY25_qh3ih9P6p7M2g zGzp#5vm@qigeY`)Q%v(4HDU-!K4D#CZoWAFNh7)c#gg_>E<(b^YHyN|tE`1XA)Su# z1OI1-dFcvX6Ng$$PKw?~fexU036JOL?%#i}ys%*;Vhx0gRd}T@xS6rD!jeLU=a$>Q z4oe&+x<t&ic15)Rq$BPX3y$zN!(Cyah|fU6;TXfmqbDjE=&FZRQp{eXTW9Z1tz!3I zo*k>6tpsIp(}-)^OKWsQrp#90eHp?a{8ef<=s(G8(vUT7N3n4}0i)rlv!p44&OT3L z+C5eUUz}F6HRP)fjXX9LP>Q;@;a5WX&Bo6;1U!K29KFYOLMtFPq|nV4gTeht<IU8t z!w^EUW9D82Z>k0;^|J4Rbp~cDG1`;&)%5Rm4Km0M<%DSzSi|X#@=iLw39UDtp61u& z#um@il$LKv0IR=HY^EdRa<5@tV_-R^J<+dEX#5jdKQT=DvaS$7+OlUIDZv*T6`5{! zlLuv|3JXi3;D=-VU;R{Z{I94pr|1e)>~cUXYIyd}y>%5x^3=}*9IxanI_hFV13WX< z7$kMlYN{vN*wfwJywVlxI|`!qi1%|!VYd*#J~|oPotkYSVPpZ&Z8iHXtjK{50lTTP z{T&A|hf7)g-fC~+7E|Y=E9@^LZ9pP7HrenuRL>#*16(?`k4{sJJPo+ZNepwOQD6nh zs53GHU)OhgISBz+nt9sxx;%9bQK$wX+a{TP+2_xTk6)VF+3|nd=lNl06ZE6|zUd3I zI<n)j3Pd<g^4TRC@us@bwZkJ!W+W+(tV5P1wO_Z)bmT*h{i^$$yssjIyFLTW6IcVC z>lPJ6X37m7EXQ|`J+i(8jG_+ccRMJU=k2HY@^?@I%*wt62dTE$qDLB!J90>BK7D}B zLLAntgF$u!G{FbomJTa=gb83bjSjH=dVL)jYr`iojN(RIUvnI%Ry78AZ}`1tKOQ}k z;0(WT(u=@9?=PL87;46}W%v0M9bFD3k77*EMlzhHw|600At&FJ8uY&M`Tb5whA^`i ztudkQ?8l@iRIm>XW&ilmt}zCHX%ztKF0w*NZw(+z!EXRtxJISNv*3&Dt(Gp1bUMG2 zQo|r15k0b1LXd8$eXQmvqp$A*r=?ldVYrN31n|)1)Mu1>0|2L5vJOxwG4A~o+w6~y z*=$!iYd?)Axeme3gIjX?ZxuH1L@)>qRWfMTxa3Hjf)E>OAwcc6Ixyu3Wo-kw^&ob? z!&)^S4IqTWTu{~VijKXX_!j})rK5uu3t%9uhJtyiwD-}U;*hd10nGfZFWxP0BWbFh znS805T5Fu(b1X7%25MwB)AaCk><3Q|Y$Bw_Pwupu#b`b^TKFXC`N1w>pMz9z!PA3s zUB>W8&8tl|5N8zk<pk7cLaMh@MmF!#AV`dkbD|sK0=9U;7uhdGg!%X^yAdDXT`BvT zs=+bV8@qB4i6sWwKpRyV2V}RJzNQ4~)k2#@ZRvDj<ozf~pn_UssAFgQOH?LLP233~ z!K0rI4=b}Q_rFuFsLtx?X80Ghsm7#S&h+$DI3-cF7dvoQsjf~iPmD=(o>%wN4YqXQ z!;1A!ES<S@SzONynE==u#u%&bK9_HnY5U^NR3!p-gP%vbEd2uG*_(b2?*7uF_k!ZC z475`-Z&*Vb+>Pxl&3KKT9?ukm9D4<FeA}Cyl6ZY>tp%cbbjB)Ur@k00jhxZ<UlVcw z!7NM+xpgT!QJoPkyX8mCA=nQGL}Y@2Dsm9OOVfRF$(y`Dw78L-PQsBUDh_M`MZI~( zht618>>Cg#0|ojLhMCcK+l*&(wRm9|WLmkFmx!@^Wl80$l<~6TfGlpcDQmW9{{=wG zyDND*<6QB?FDkR!!C@zzQZZV(X=;Y*iSjAoRYV^)U_0%V;j3L_1SNF7Xx-3%^=k9p z7J1PTOejbq5#6zw7f^O6bYR`-pAQb%FxaZqssb>^J~L(yjij-pUuY|0tiA!b6qh1W zZ1KzPdQLF`6u<zogivvu&jl-N9~u~yWR5W6_ud_>bTD)XLBn5F_QyPoY+^WvVz;ah ze$6+?nJ;|6BYK%r+a7RRylhX~u%SD#Iqrid=GkKeY1;GaL)xzM<b;N{rw~I4k?8bk zp03XkZ!<H(?pYZToLV#H*Jmz#jH1;RO24OZ_^Tq14<-<TivM7aj(3m-9%pr)A1T*T zp7(p*L|`UktLGzmY#K?LdET~we)vm7^20^x<DlMRGY6r9Pu%`uSs$W?-A&%_I_yo? zlu&f|`>FNaiJDQ_vDmykVtKIVoI-G_!JMXM=LkA9@QTi{_cECOci!<|;&iMkY#MET zE;~D;e6rf6gXefp<}qPR-QO;h1i@<(^CW;@J~=vAOY@Er`$gz;d<Nw3(<@347|wV1 zEL9Q0e!eT6<hw>|)vEDxEQ0{KE_<I8wSVpiU|*8ilRv)M?xGz&PQ6M9+D!{zr3_D8 z5TP%mIa2t<>rQvQ7yD~>2>=wR?AaQ)hR3#o%5P`7@>u68`(5-Zt<3LRQHQ9EnJ1tM z*9=hb8jJ@T0lKW(HzbWIy6Q=x?~V=4v;6>xZsjNMX3v?i?{N}+k!&yT6T+bBWb<E^ zo|g_?+6mK2%Pwm6UkI`(tZ&Dl6hHfca5dkOgNmVm<!;+?EYVV%P3Ci{Kc}R)+csT6 z-7f+djZB7Iy0mYEa;@W>XF4&hp--{EJ>J5ynsVv2rKOvDA?pYL$vahoCuzL5<jQ(g z1lVRSJ2{A=<8MCGx8g+NPWXj8xyq#FLygMOgAbZAYqGjm89G|K!+fSm{OhTzJNB>+ z=jLYW`4NB9Qw2U+6=Nk0MG*HN?L4#ItnS@p^#$inC35Jpn%Y|FB~`7wtZ=PAI3!*> zky*BUaM>ei?~%0;7@g!Wtmb?6df82SGlj<OTYrf6&^3#Jlq_3M${_gk_JoV<ln2zQ zsML#@{}IeeD`ik&I@Z8pwx;|_QB1R;ch|g@J#7?OtFGOIgdf5}uBc_0c-l?Tlu2a> zYihLTtGSx_1b|NAX&hX%w~M8bE(bu`EZ;!`z-`3Fb9J5oIc0LUH`^XaXVvq#I=&I$ zg-%Kv0o8%48vZVvRovzKcwfY82T6{pj9Z_#Nn9BPmdztl+<^#lc;7i?QqwETDOuu; zs&2A~gYbztR7lRxFU``DO;qNev9Qq|N8^0-?72kIDeM_L)!#~wzkQrwfmk@hm-SSm z@R>H5EX8Yv`2&B_g-As098J#Ms&IEW|Me5fkmjb&8WG%Fz9O>*2+ghCD`#4My1Xi_ zO3k#Ax3Ko<M7{RjcedlEQmWOa5aD5=hQZe8UMHvIimG_&oJg0nDdlCWFI~}fAKQC; z=s1Y(_VV|gvok)&{zrrciH<`<8S-?XIxYxCs;}YK|5<qfE`0K?K(*;&Ju8B0s+Q1U zTuT9x9hZJ*z3I3QDF=xpt|`-0Q)>P87t5c#j^Z}<`<av&FvlHZG)Qs9Zc8OI@v2BE z)$jD(c1{`T<0?ydk|h5IeyAs|>gskRah%xRC*qsARXepCbyDc{PoGe$=8u|JMS-A~ z`8oe=?{6mj_fUoSM#|Vb6N`#{5MZX<5cRbbucX&nK1^liBzeQMle70U#814vxX)L5 z1ja;&$o9%1ITc&=GR^i_^$>`5ci}0k&i^pUV*1FnI?dBT7X}`2T~&CzbBBcWIA!<u zLeyXF^4DvhI;<qSHn2v&bxLp7XOg!oE~>5q%rmtC_rywLDU%&a(Du7vuv4hD$Z?AZ zYyi};k-Y4pig*#S{Guwo9VV2f;=IgaeQ`cVdAnRi_o&O$V!n1rNh8lKlUa)WAC#p5 zIM&d7?&_Y7)ZYb^f2)>l6JsTrw}D9ZR*qCvw_MWL%+j)#k5V_cw?$x<S#2GQ=>(?_ zQh#o+<epV0NOyImr`*?5>qxY7N?BE`-8dh?U0(2;VqlZ1WuKQ!kj{}_%OQojmz#;h zH6*P2%M#lga(A}Gev9<~+dG0Z@Lq|YabydruDGO#<$rtt8ct001iME$S!lg{S&dm+ zQu2U`n!370Qmii4RKiz-l|w2$AOHi*0{}%FL4e}0^v3y7D!pT)Kw|%qU0?RWrw3bu ziWZO85)o!|^MlJHsz1`(2hO}|3V*{@{d=7Jt$C38aGBD~3(G0dSf`KKLuZnQUgC49 zdn2^{woJc#mdn(}HKr3)cUL;sB*e}%>f7fNcLYaqj)6f^=){<~mQ$aapMKG0YoitI z?nYEQ6`e-;k1v>T#yUgoG9#vo*SuaT|Gvci?T$C$m1*|4V@E~*NVzP;K9Y$-sV(V_ zru?3S`HwqB9r$K@9xq4#M|bmA8%#{&0fM8I_2iLCe+TgV$HV`{M*8PXw*Wv2QvzN2 z<+YN@*Z-rD13Oy>YVJf)kmdh*r~sNp_!w{CdstjAssHxA{x2UP^^rjHyr&rlJ+5!c ze|F}NzcJ#tvIJ$(i<kckL!1a-HP6mLVfmVP>%TP-lF9~HLbXx-<^RSI|36<;%(RD$ ztE+1y?}pyLjA6ukC!=B3`=DoV;17cVRX80T9TmON+t+tv!WDz{4ZH`fc#H4&+aF7c zj~*Z`e7StH(C>d3ISb1i881+*D2V~Q|IIu6hvIwB`ccOJu!Q}GtA=B(oT1L<A&UQs zJO4H*ul-p26quI!irKjTLr4BP)__jMTpp0hvj24k{&{WHg#{>k`(6M>g{WEN^hgdC zU(<{2Ev(IoyR+>K9`0FpI#9a<!==}^PX$e0DV1J&C<I3=Yvf{ltO?EUy1KN2QTnZC zv?W{S_7-UHT^w{^4yYj?SPfkB&>{!&M^W${`UfAD(}~bFM6sqbi=NZ?``WBB<X_WL z!J9_v2_KkH8xjVy<>|mQVGxnJ{dczQ)z=hJVmYpe{5)FoQc;PlY&{rL1@kyOhE!3` z=KQ$kx!ajo15hWcuEq4!)E)GFm5o*A)F8keJ$Z6`?NGT=aEDVdArb+sv+M)6&Ykqo z_21Bn3JbAvY}QLheRUs5RObPJ45=7WfN_4Z{e|JbW<bU{{<?$vp@3HOAGRryz;b)p zxTl)#-BQ{s;k*kMAyP$^HG_3c%d$Uif^{8Tem{4>X#SQ_5}p3c1QgbdN=Zr4PZ|dF zw-ayrB)l4t|I_Ausxsh)Waet|KYjVcV+<9<>614|5&PFREg@rYk=3uxzs);{Z?b=I zmG|Qdk&Wf7vcstUBl##4v+uL(4WnSBgm2XP2!|-@@tz@YSkt~o&A6j1?w_sr_r-qL zt)knFsnp1vjJR0URj-<k;};d#sXx!uJ|1yj_eux2u=rk?G4L?BCs}t+n9Nz}DX;ze zaevOUqCJYv5oltmk#gP25v&gRyhB$GPx?pJe+jf2?I|9qqISfP?xloMzv(jr&%fk? z*ln!ZVH11{^V{Y`#txvqL$c7fet+9Q{USt$Vxa7Onbk$Vt;oh`uUF!!Yuy&sgZZX{ z$}b$(OzMT$hisEKhfe!@3nrOSiA&PNpIos2U1YCS^l!*k5#w~r7y5IQr~6<$4u7D5 ze4C|~<hgw4qCf8)C9^6q;hg{DI-falil33_{!m0DcNs)nl9kntn~cNNfr6q4ztjKI zVfpxAoq68}qVx_!sei_z+um3ogw0ogm<?LpF71_am|C4}FjRC=OPHC;>!`dveA*9m z=bCx35UavA$vSiz)nB2*j3Oe)2ETz@lBmCpeaayI#~BHbRQ8O9uM!=~<$stXqu8Tg zl0!7LAzuYJ)W$$#{GrPl{;kz%llnvMP5j?RBRct+8QG&Gu|5kWTXKLPYH38LdbV(+ z#t9!rtDg7Rx2E{_X$%w6=zy6Ta;6J&YX2N4VKSzc&KJ7f?r-3wQ-)wm%Hmm6fsNJ8 z9(C@OiH-sz()}$rmEWrmGFY$h&`UQ(#5Be`b>hSLrd^zUnF|tqgh4VjLn~hwfjQ9- zf|(|qo0~gpG*smqaX+$9Na}_DH6aG1ffVvh`CPRl5gjdOT<Wv2MvUz1(ucmLnMD|w zmXmzvS;Q>Fm9Bpd=)YW~(_u`HH$D~+@whN;g)8+Vuf8?`{U*IC1I}xCWt_NP8&)xs zmw&qdiFasVHIxCkp>p#P#~&ux$G;gP_*z5b30O;`LVR;|Wo3QOPNT?0<zGJOud9nu zA>00q4pc!@Hzx6euf%vSikv^3jOx5Yx%8M^)Q5lU<rU)`Lg?=p!u}AKmr=f*(eRo3 zxX)(ppWjz2&o-^G+U9@MzB4j9Dy%10nng;h@k~Y@oB6K`=D)8S4P=a>#gK{0S<9d2 z_8jgZZKV3Z@jDNTT$yv5P$o?N^TU5qG9mgm8V!vQva{50ycGY@{*0d#-|fhXrcsRV zh8uw4E^9ps?m_qt_Fgmlj2t+~>JPjx?+Qs@GtT}r;@>YIcYq^c=5NvH|LI8o{ujRo zX%OE)Abh-R_a3@?O+)@_@xNYYJjSS2F&KS#ee0|OfE2Ypr55Ny-RoV4HM_6$#pBUy zngWTJWwYLW+E@4WfnF3U{y^f3&NaKcMwS~fadG9-I|GUq5{VtPvsDb&J<Io#%uw%v zcaK8M^0davljDZqxTtG9!C!mv*K4D6_6%y&<qYSr|L=B43YW2XSHHTcf%x}m`0Kv2 zv7aJl8EhGr1O06UZ{$cuvt9>H3XE)D+Zt)(t9UG^{+Y_PTat`48GXd5+fA|WAATUf zCv%unC7X3)aJ49r`EIf25AQ#a!wXV)rh0cVeuYEX{&C@sy-r1kvwG#s&LYdKsbuBO zV98s=+gL8sN^WJ%qDOK#@5vJbzGU3JzxG2{BrWA4*=AlvUk)AHi)I29;M+fEQz!~6 z@6|gbeVw1hJE*5JH;^e|dCbv`nxMWJrt{+L-4w!G$%2H>ZwpTpBg&tB;V-`$8OhLT zk@NnbB;HAKM=U0ErN-ZW88AT13T^OT>|&L;?s-0ew(haKXMVvNv_HAWW_Ri(yY6R@ zupIlC5`?7Mz4hMRk~8p;^t9rX=ZvPEU^?_AJ>k9=Yvo`rEoU(f=u}^_f2Jm(c07ey zNc}}PpUhc?oOjf&e6ksAO7Fh){SU^)uQJ_E-{ijJ<^5Yz|JiWV7+%#r$|14}w)U59 z{70uyv*a<h%-&_NxF4CuoQd*k7{ZYQje#o&TgH1!?^h8iLT^t?k6{%r2}k=h*EN@M zJyURBHfZaX<I5lXYE$qvP(sLkrKLBmXxg@ss{chn#PY?321bpFCcVLqqc4SgJbZUB zJjMr#-gdy^cWo>7OBEY~QR&CL3x^VaxA;Gs>cEEO<<Z)ZL~*L_9!YLkXpxtXQ zD>t(?B2UqPjKh=|m9-idAzYBAXgoG>^>Nw|s38^M{Y75>$(J05u;t-<Y!CWKfo#(m zNX266RPTmJ_RsLS_Su%6NxvGf5U4FLh;^~45uG)XnruL14uwX?Ob1aD85szOH@*SW ziHu)t`|U*oZ+{^>NT#=X?aiuIH$v|Wbq|3j9q}In=1)uSv!X+S^i~W_2kD$U61`Cj zA$}FLE7tUAkF3>xG4FbQOz^I%B27E@0aaSr!SWL?kJL*lFWU5%-7Yj!q4M8RlQ_mC z<>Nx`0c*1z%aVoSlF%0ol;wM`Z^Lt;gVd1}g=*#as&VQ;w_~y!irz(1sk%XFbpyx6 zt}|$zAO^o>6g0ZhR}8t{jB?6@_g~k$tFet_W@Ceh2OH(j98r|55sZ1oFGaIU7@xOL zMw)<6750O)Vyk_RB&UC!ogOlNe@}4yt9<~{8-9%M>NH;^J8~$NevoU~uq<7gf2%VW zX!Z}EFxahJ^>h!t$P90N=GoHyk3p!YsoQ}~3d!#H171$@_y%51*UhZ6MD~Sd6b#O> zkNw-c{KL$RYLw`~$7;CIu2^<2?DZuT=e@>2i@K*DC&|zjIggfqrce+rf1iKuU7zd? znilrxfX#(CS?-N$-cGXVr+a=(D6M7zrFHScram~kh`-?vt;It!fApQrM(4;U!<Rf# zr^9-dJ_3^Zyng*?I1cqEL=|=zwvDg+x7k+6fWEPvNHSID@_J)jkGX&c!!6{Al+y9t z>F>uBwaaoD-bl{^2XBu;X{SVI*7hO30}0<lKKEWr*0f<O`;fJ{h8dp+d>-5ni-JaQ z^OTGcknX9RAfe(<1He%Xaq71Z%PfOYELoI4yn}T!N@=h0PfQT7GFGcu{eLr}Kl}b3 z38eaFIf)FOUbIN9<P>=&d7X1mDNLv~KDRP2^n0q!{@}K@mM7YXbXY<yPuos**)&#t zHf!P@J9=Gs&|H|@LN>)?<!p62#-qGZ+gI803qBXeR)y_5s?$j$xmJ?+yYHUvo80bg zmna_>-7xD`&yzpL_mXVT8?190gfp<``Bsz++vrLR;?KdmT)IDOn0eUWnlOA|oUfRA z+Z3zu#A~~H)Gk=cN;`7geEuS;W9%^Z-e$HkUFEC%{rvJD-&Jp?aX`l}tD;YGEcKu7 zDm$jm)?TzVq)&msdXco1k@J1byt}zhBcL>}eYyupefao$tOmhP?K?uMk_}Vq(kyB) z=e4lY9}d@f)f6s_-2-q*sHgXJ*1cL1JoMSwCd<NbCA`Fb9XpY~d{f24{MLn$yVYg) zmi;(TO@CoAG}e=q5Ak3MFL!=8A;%N$A3YH9C{@*xE4gc^-g4)ToL6m=bNd@TdY-=N zRBFfDG`T!9dlI1=uapQNqBIaspNjR=Cpj@nA!@H;&&?uY<X))WwupXXAjcHn$tx>H zle6qSnoWLwILS4K*e)I~R;;&{icD@o^M8i1IsEWU<ivt|4F7Fnnd1j^SrIy}*5%ic z440!ck?cMiaLxP1_CZdgnL=x}shi7ULg^7$W>hzxj;ijxC`9Bq_~d|n(my=M*)e$! z^2^@ycv{{U5IME!S5T}V=_YA7W7v@1PTU~o`^t!hHZs?#Y|Ny%QIet3Chp1Tn`$QK z10ec`3FL7bSW3PHU*qrhpOAkt4=*gMu5`Z64g6!(T{w=EVdQ?5(0th=0t&0Szjr}( z6O4l{5f%de5%NqgXR<{EIbh$gp;Tcu=To~Gn_l*QSW}mSGadQ;QC(aJ6k02LX2H~Y zW}s_u^xoa;-D%E?TTzwdeu4aGH_L*+o+G(OWTDfWYP$5etpU;^-&l;`RyCF&A#ijk zmR;SU_q+Qt$%3BPf~vXUp999)T)%wrd~xfkC7)GHM&2cj92nPe$`i}4U8P5t1rskn z`}Q)n%qGlqfiLh3q+e`LPI~Nv&;HJq&+S<fde~%fQ^0E2n)u)=)fc?5Gp~C4;o*{+ zN807D@J*H3v<4*^Bu+k(#`#$B7JuhqN6WuWv-Ogdk@$Q4T$@&1f0aWW?s4DRp|Qv4 z=xZTA-G^+CuptJ^kI%*>BFSNeYZGj21>tMY(mm3)3Tpe2D{9DF+s9jmsG2Jw-R*ov zA`G*;WQ=@P4Vz!TqdzFwU;5o~HFmK9j<+l0rycWk@y^vUNDPr-oUM)Yzi%xWillgd z`&Cb_zKIW}gIjsdnBCHXG3QeGyu$v&)JlUp6o#>H+_TdG$LINOO?10K;nk?}I<YHW zg)EjLQG7<K%vmNj%b|y-21kp30ZqUnWDK(5|9CEb!+&Z+J#57bI!aZn6Yxej)%^Zg zV=2Qb*|*z-0wV_`o07V>#FameW!}WZ#_y6{=>JKdYxDBtD-{NIT|e~&IP3XOX*=wb z;pCi&EC-*CSFyvIl9rL&-t*>M+HWzt{F}A~3(s>0t(K0{2t8EPU=v_OA((9JO2lY( z?qaMG$2QoZ(POOh2F;i$xq)}&{MPBm_cGg~yyW_OWe(-h!N>d4#a{Kp^?sEeL{dF? zY;pJZdC2Fi>$E4vz3CahTfv#0v%N53kD&up5U13hJ`HkukuCjz>sc+)bLuyXr=djm zj(A>y1>NW-K-a{T9>G_E90BB)#kFxBaC5(1M&?U(-DNuUppF{`x+XTah{p;?TqO&C zmFSE^_&8VTIYK_3o0bdW?h`O@$egpOk7W!MRQ(VYrn3m;03ZP?8-=H-6+ZCl{nmt$ zf|D?+JGgk;JBsX~-4D<nIe)$*z}1dj_Iw5H_yw*MY)+B%#kwy>6EyI-oQIlx+s%O# zDIH>~FO(m(;qiRjgN9$6aSjXyF#~SMDVn}FWg+_1-c5)0^fW1621_fMW3P&F5!@Xg zKUML=6>|K@E@s{MS!3F*XIme>GaGtIpHtw^jlPcEKc&6|UH~)J0U&oXbvr?i;%#_G zbVs~Q;g^f*tpVh%UF8flNPR0@GaOM|Fd@oDgBmqFKG1Hy@0Y#kNu)KS>by}uwWYgb zDvxf==#8*psULP0bU0$a=j;DY4vG7fY&G<<bGo5vKJ?-t4sMPktN2;SH31w41X$QP z(Bnm1|BFk4jDs+S)(ETM$}3uf?p4tv&dRI9K|Kjte$6!L<#RmrJUaNWt)XUFn{4v- z%%G5)o*;_zm+Z271U`5O-scAQ`C(x!a?(phb>p`qaG%pYmkK6(>Pq%C5LXm&_`2mg zbE|PMd#FXIr35nn{76;z(cK}mdE;|qD2u^GX>xdt<eJ9T2Q(gjv0o25*8R)N7(-EE zL<w~(I>GI7D`OY2Dr3pE$t3S6zR}UG)Q;KeBoeP!Wp`pdcpbB!f74jkd(1#+JojF= z^E|OJ;g?SQS2kP)HuVgk1!0Nwxf~vzgI6zD3E}T7GHyCtXzOXQ>N`o4M;1R%ZFSe* zWGt70!mOnGx*Yf=qA#`#mUCORI~Ujt(wdLAprfzfN?GMk#X^I%>Ohg7k^FBD(wZBQ zi`RIW$5&qFvHwq%|LSFqqx}_r5nVWZAnY2i37yeraak<2iw)`Eg0O|7YN-jubW6Q5 ze_lL^Uxog7gce`Sbd&o4k^gw^94Bp$xp|)Sh<FMrb!q$Bwih_-#Og3Uzeuy*`Z8_O zep!RE!fccvxxu#h_KG<#%voV}cjcRkT4adc!6cGAmo>47dAefqsreKQm%bTcsBp~v z7(*yWp(8%RW5j0XJ0RyE6U5<yD8`>|ut`@b+BK23Jfz_*g8yoZ=i-ZwrzfH=V@$lq z_hLQT5#-i-KPYjJm7(NUW6UVtY{S+D^GGzOp+EO4=!jxGmr&2r4Um{|U;D@7*D71n zy2a9&xZlY>_}Mo9n0C{y7qsfL=lRBS_vo140Q8n5FR=_KNh{de@L9lOGvVv6?+y;| zCET{P_gz?7SxHT5=I#n20l0Ml9;<ir>FKF%u{P07Pp&9st^~e9{*&EV8>MI#Vhkjp zae3xTqm%Q3fbyXU(&@ku1}r8=vHl=YQMxfl0Ch86<7)E>+!TOa@p|+=BMS@3&3c@7 z!AK*8CWl-hR!NTm5>{!Zx|2~r=0+&1T+vzaImU<<Y*Q<DG_kgQ#<aq;gJiQ$v(Uf} zI2wnr9j_STf8lXWl)qp`=D3J58~9c6U%gz7lE2LMSkv;WW>3ZLAGbEJj4z3!-LQ71 zQSicE5_Un2^dFUZpSpBjH^ro$7n5q!7gs8+BcJjHCVLN)NF9EZ@|$%XoAVub_wxp$ ze4ah*>GYiXoN!7_Q&Q?jJ1>`TA##^!9z!b|9;pt^y1m(N1TwvaBX(Qv$Vn1OKf}gt zxU#g7JL1efS4Cy=X|_o;sbzlAo7Oov@^pGggU8%J^WCB>soEt~J7$<$PlX<ex8m|d zBG0wx_2iwcvYMS8rG0~%)_&AFF1Py$1N)cy%m;y*4(0hRX~Q0c+1fBW@CoV_?sKm` zPlu9+HfrVEl{3al6%LjCXW#lb<Ly8>#H;!~&{XH+OWR9K(y6iOy^`%>YtHDG+#*tT z!J4xc!gdw74Q><nCrkRsZhzL|npmG2b^DnO>bgk!^oT7quv`I5kLFUXMZS6efr;pI z%>Y1i!P{+EMFd+`Pp(eE0e=N`QHXj?3WD>sQ+Vc%Z{clVo`g4?g}V(tbRe+%@QrK0 z;m0$i$c$s4FY0o>6gWo+2X?`AkMPz?p?+;YbU&DP0uaIArwJYVwvM4v6xY<uA8`)~ z|B0eD4fs&MrN3uVmj=kNkOq9>ZNYqqrd?^D>bro+S_B+@6d{z=JTo;+)i4i29fGE% zPG<s(o3uT~rb0rLY|#QkISZ<Wq>%^F#R+%018xd`8`dEr$g(B+8qNw|5cghrA7aN4 zLA`2-gOjwZk$ypSsQCP*$udsg+BLg1h*rSWUJdKE!}9OG=#QiW9TpWfD0Gk_wf5H+ zrLmV*mt=ELbKLX^lSG6PS4ih;%9qL3#%M(rpM~a~ABJL($t@^%Dc;?E8l{WK;U1f= z=sAg5me%LdedlvzUAGd=G+~Ns^Zhtcx@Vk0*vYDrxo_0AEz_Z74xag;DZgUJdQ0lU zzi+{=;in@kYF9KgBemiw)HHG<Nrh$db>;SybvlxlkxNJr<`qn&hzY1F+qj*A;PpFz zLAYGc{Hb3PgwI<hx=e2>W#`wpN6%^{mJrXnPp^B@Y7;~168d!>1mQn2T9E06s6^|W z44@~ob<21o0X>oP$Lhql@`I}8q{Zz`>$6<rqtVo1Sz#oO`#E-+DXl%A#M1U&ssPVu zA&TOKM0yEDwjcs)jG?bB@q3)wCBmj}59GxSsh-Lf(b`j7+`hnFWL;qILbRb=Rx(kI zn51m&B6f>%`)j(!d#BrzrV{SEBpCH|7i)dVv~}lO$BJYt)^d+0(vchKQvej#R!#c+ zR=_3N+)+81P{#12eX<D1I2kxarQtle0e@MLL5T6@FWEpB++V-Os{pZrXC55y^;yo; zq`UTrgdfO#0)e5kUR(JUwv!KtFy|o8Wj_wdY+dHhUvPT^N4nVo@VPvW9=htH6DjW# z9C_^gog^FSe(fi+Y__4o{5B)|xZr)<Z95Jdwsnkl=2(TGXWuX$k~}N(2k3_!+x#R5 z)KaHs{xu;2uL6+6qBU6(`fr}g5d-U11oS^sSo)uAH))QHZ>{s(=Y$*{yxr4zkXj6b zr#IMyy&kR+psZM{@ZN^#I#lMEG{4%ogM;Z2JPZxz^sWet>C>h!^Ib8~^&8YVxl?xz z9Ni=G9IZf!D!nAw!81Jdt=5@l-3BXSu}>K4o9%kST-Lut9p9UspZ0Lk9M%#nJ?*+5 zqkmMKYd1?x`;}N^`=k&RtRi*fuL3%#vU>&S!d-&EQIp#DZos2&JYlUm<Y8oAK@4;U zyES=BTXFU`V96ps&7P(@ygGz(>};^kTZdtbF-jdWMPP?IHzL*XkoaS%Rtpe=9c@-} z{1Z@pPn4>V?YXDrWDaeb-JvE|MHnJvheOS_qFBA1L3AM9y-#U-`?R6sL)=@}=%-T+ zaEAtm>YR7nzL)1GCu)XvQbSZ|5fvsoL^<e+mwE4=8FHA*k^~0Y-e(-*{3d<@v8E!x z!J)fZMvt2OaYj9VrGvktY<Qvm{rx^-?i4ys5FFqO5E4rb&w^oW{n>#T22BGdNVsQR z4=yh_Yy&vgOOWMaJoqCTAYW2`MK!Ec=BdVtM(|&5YBg9?&b(3PV>@dB!R0S!=Mnm? z=P$?*Kf8Fz4dx%9JyU=Hk|rVw*k=PF(o~Z0ICUcw5^(}xQ%S!O-hDd&f6WQ`2US+y zo1Vi83LGaK>vl4^wzLCkO{$o>k|p^<%EXsn9q~T&3(?&-kO+p4UNQ)PC-eHUI=%MJ zw$gLbg8GwJ(~1|k`R7B*yf-psIN<Xg`wW8&|Iz|r`VJraEro{+WFvFltxh?Q8*-#Y zq5|RX&xEfJt{~|+7!)#wHh&~1Uv+4L!+IYFfrHZ=ZmjfRGP3UN&pf@&4RWA@xy-4p z<%^6cDfmgYshn?Fi`CX=sblj!DM?lsP^E*e3)k7l{Uq;CAiIMKW1W4yp)j;szoExz z_$Dg9&Bkvl3zxjPi&?GU%&gKb_-Ql4Ih8R&0*I$3Hbo50vi(+L$GA&MEZTUK&iuB) zC|{dXlF6v_8M|!1qxv!J2}^u+BHNlh9vfyctFH+2+Wn;H$)TP(llnpIcst&r9!)sR ztz*x3v?Q*>?#-cQuEU%Ob_9mFE!#^6$_v&O0=Z$1FtZrz<2=2))BBT_lN%tEQx9*F z!z}VkB=nxCmhZx>aG-nbG4ZSX$s!tO>JS{Rm%D3F)|Sw>eMV1X=y-JQr<WR}vf(K_ z?j&bvfY8?7u%i9-B+TCldjsdA1)KJhb=r*d7~C3v?+DJ9FdF>jd`(Whn(-!0ag`U? z1%9gu3H1tRO-&HT!T}_~v>|&<GYGjXA|HzIk#@LpaP$fu!TSkSJfFd~wnWiL+?I0J zElu6(H<>whJ|0<Qm%n}_ko&J*z}G;QtQP~gEj~%hy#lbZ%DSIRe1&xvqXuag0Gi!2 z6weXR{+ZH({-T!HDbt{D@t7w%Z8(%@umg_6B*ww~5nC*m`G68RS3XY2Q`P9VEP^B) z#J#{I8P{`G;k)Ir6vnX)=rIv3uLpa>L6??GB7gI0jbKqMlYS;&)_JH$oYi>P6EnEq zm&(FZFaAgRi-aHOANd|JZQ|!-)%lflJ3uf_hW7iT%*9uZmY>}BG+56>w`z<F$h&=` z(5@MkqsGZZZNxf=`GYTEvsimvuxOkL7fl>%KuUk3L*io7Ll$)>N6nF+F@#u;iNMI4 zb@koqh)hR#yFX`0P8rSYy7IiWJ)QVWZsgeDW0$IrErlwS`A^2T@s0+Wl6YAHd0<hK zW5_c?Ygwzfjc3{q3ngr`Rao^0;h#aL{Hh%dFE_3U5B`zGL$I;gb2c@gzc2WrEOH>e z_hfXBToD8bRra``sos<jYxVmzMtk3mG0&At|Mo}8xv_ir17wSivT3Evsra|-%+8-| z-B`Wj{7`O{HowEuU!9;cx4w=@HkA({Zt(2;S-f^lKOUdpqlLCPc`iej-N~^peOPmA z<rJ<hftm)z&G*NQ-VaxRx0d5ODaE1T<A{;xJ??-S4;PCRf+&}w+b=?j*_^e!>3pox zC-^6UwGHddr;<wzPW^*6mE0|p@*#II>ydy)fFx+i6Xdz8rRVe6e7vAcd~w&t=oveO z46zm*+Vn68NK73)t1zpWw{RhOpkYaxLgn)Kag2NnEY80mlun=RgB%IhC)zqMI_ge| zdSU}^zVF8Ce0^J8b(6(%F8E;MUnZG>vOz%}o})eCh9&^qhs67NSewJodaY33;9fOI zcB|Jzyk}P6Swp8bYP=Iq$zKAYmy={CC_ovA(DW&g2zh}<ff&_HXtxS{DQE!`ww*9a z(08LZrAi|%Ei5)C<Kr7(9gA&`S-Mh_OM}0o$T-;=%a<QeTk3;tkZ;9y7JkG8ZkX>X z&?(zd>&ti#8Wh%S{vgB8c$JTfiIYjCU1s&1?@3Hk;FR}udyY{yw0tkq1R@4^b+OZ! z?-I8@3|Ee91!><lt7>v*l$#B@)%~kZLZkSWR?TedlQg*d&DhX+6_1xV&B-?`^(ltL zM+?ZKc+KrX^);A}ql#<n7-Ys?$DC@GTheR0;FP4Sl4W#=M!pD1aSy855)NEQx6b4m zhmeJTvQ*a$(G#9}tSl7E#5NFee44ZpwpC<bhpxUd6__c{aN}G+NbabZ1<&Lyas%fE z{?-G-1vE_EphTAV)A}T#586LDtdy6rwuB`yYqn+6aK$AamEcxYxfVyj_=qJXKjO@f zx(wal&L+5_QUb-n5=d4F)a^^^qS=Z!hP0DCHfQb<Y)zA8U<%rotEPx+;N`mS)448d zLHg>aGVOai>i4h6U%xlgzu9tg;pX=Haa_^E%eI||AO8<sXB8G@;BI@Gp@(i51`w1+ zx;sPxQMyaIq;u$Qlx|T_x}{S>q#LADYUrMsGoJr*&fd>C?zx<cxtOos?_F#CmM3Gg zuA%X_H~SJR<q0ny)o;KP_McjZ>P#W<$79!tLf;1DK7DZ3rLY)1$4C82ciAT>;ZyMq z4VzR$^x<XYnLzX07dh|UP48mc&LM*+`K-l2yCWZ1Q3~XribO68nyVb=p19tO@L7LU z<eS_5jSVO2oK3nSLZZkG`Cq5EN{@`e^ERQAU7HxdUB=FQ9dsX_pk3GP67r}hQPQC) z<p4qkfU-Ie-hn=OIN2P>)_SiWQFHP#n@K=w5xqh(Oihm8l7lCp-t*7&rbJ=ZP!0Eh zQRBiFro)(}lG$s<8ZcB$d4N+~(C*IuhZ4>w=^Cp_Yky2NH*U@SUFzpHBlDGmWg#|A zOND{eJv~_MZwQG5`>$#6sCif_40^+YdL(F9YsL<8QD0gDf_=kw_*uuE1IEX*6mdhO zM}H6p@9-t6ynAp28E?~%;S>1q`;(72_l)MaUPbCjufiqAI8t-TSw!k5MB_s_hBiR0 zGxGB>ao_7i>U~_(>Qge4I7&KWC7{gmC_$ttb}ynX($3D@a<Z~;a_^CiVT3UI#(U1a zr2fE|yTHJ}kVCacO31v#Gd>N<n>p%mElf_sCIP_Z=GB#07xTl1!fH*}QS@C}lmAT> z=rJiVaS0i?yc_-00yY^hctK_I6m=@seWs5(WbC<zLQxC(?BC|ZiZ<#o(FQ{Ex7-;o z9cDyc5Cfsw4p;x$By%XPV-~?pE7z&^e_!0@MkfsTH(GZ7exksh22@ks_(_Q^Oc?U; zzU(*28K3+hzod24utUb+k|crtir0LH*Rn7?f5Ow+|By|}eq^kTT>*m~bdHTm+v}2- z{c%`ZIPtYihJtrkvJC#bq661QwPh>IrPw<ujvKzgm$t|nS_@tUdU1G-<Js%mudF3? zBYK8LiRB|9ve_9p1B9V|sIrXEkS4i9zU!AxSm4nR^mIgvhk|Pk)iYN)v#%Z$?_=2s z!_-fW2M(kr`-TdIMk@fY%jYqVz!N|E_s{AGW2$8J+<nMOtUV^mHZV|Jk$oFc_{P0w zF)F2tpQZ?RJ<Z%MGp|@rUv+QhKPS%8LQzeq2Ug5xW#n(u_S=T^#SLxC8BWu0)ivc) zbq2+glEEbVE!sGDv9a!Z*M{&PDu5)f74)nvEJ*5dcZ`LBS9JMQb@%gYA1ihQ6IJRs z4?KBz(DnDq)v?iWamwJ}Gw?0Rsb?9mIq5!3T8W@lx6LRKoo?a-sJag$24PSz<WHtv z!!Qs#K%SM<3$t@-r4*&inul+?tQ^+JULdYr5KYENhN9Qm56WdIY!yLFNNMF-C|KUL z^sOHof1~F=duktQjLR-_lmFUTub0MjpCQ(05D5Li!Fh+gVa1O5*!7VcU5Pfb(8}-a z3J}EuwP6R-BYn^9M5r6#L|9Zz+wg?+qRftRK;i;~(gxLl<86L81ZU#3Nytgd)vb?R zI!!5f&#ahsjClQz1oLQLB~!9?IN}LJSp<*lyWe7}_F1uTC+nAt(-+WnUX+yPnRcd} z-eibOB98JPmvLAeiA9&NsI~R2D^AEt*@zVt<7!Tr_q%ML$czU$nh@D*&-mPPS}L_Y zJY<EftPg{Rz!B9R8LI?>1D&-#g&3a+c*nZH(a*&2aNBGc>*T%j5rweO!Z&@587za1 zDi($wB7wv5*c`pHruiL$&-jfCXMPD?q~?_(=ga!)eHNKLG~yF6#^ideQV`GmCmeq_ zw=+1}YvM}?ZOUYT)hQ3EvC!q_zWuzl6l`sy)^e~{G-N5(rIgP$S-C6Lr*Vu13mdyY zl2OF((ssZ6{`Qy5+Cla6=#7mc8{hW1!spm9dUpQc*nUXm)k5vrDJMhM`<)ka<wK}u zyvrt622pe6^-;Fm#k{8`Fl}jxU(jy-m+4(y>eykxfuXaUvVt-G2919yo$WLjCZI<| z10iT#waB*p)=v;G;H%VBh9bj`U6N%W2nsGMGTHQcRdkoCL*f?dN=f|jVSpIoP1n@# zG5SrpG<06<zWFn7pLR=-bD1{%XvDBm%({hSJEg|AzoPyb*cFZFmOKB{8qg|-(SQWw z16*2(YAK87tU)Z6L((iMS2F{pK!iJREuO$NQ`3?F+(B~rCi&H8j567(i{v>O&Dp0} zjWOH|r=#C?MCpd=n#tJ635rqQ?k|Vw-GK7xiG2wvaWCmrk{vXn2m~vWU>T>sc;u-> zT{WM|EG%CZfZv*d`|d&aV(jcP0^+Y!ge01jm2s9;<wjR-MxpvqMn1k0Xk+l9+4Ox5 zJhX~i=GSc@R3<7GWZf>mt#kKte0|?Vgp3`+75YsaVileB$K!6FL06C<U*n2B?`4Vi zTtORnriD@@$FnBeCUQZsjfYUxaD6M2jC{o}itDU%BmAb&M#hvAy@`zd>Xw-&{P@70 z#QTGFnd5D~ZmyQ=Av*vslNA$-iRD3HzC0l{w(SZj>6;Dj>5cGR2e;FrT2CG=Mn%pE zbJ^{VLNRKPE&XIZKzz8<x}wn2_LtsmhK<Z`Zh>o}|E*J-V4=dG(f`d6aBIhODkt;_ zVM=Q%U8x_CiwFX!M2~Ii7vxuf0!VuqWF;bk<5@c!qqj49i`wVx^->Vwsm(!#xis$A zLX)WWRNH$|z=WI>s{G)-D=Psa##f}Prsim=!|gk~O&Z;2B(5-lRk*4T1kc1^Fvrk{ zQ42fkBbV&pyY<Oq{Ip#@iM;|sxyJazm`s=F4H`c)+w+)zpg5Fh;99~MoLUtyB((Ad znmUzP<nu+t%AT8&Oj1GKbFujR>C6A@6Xp3t1U>nU9I5kC#GvlR6nZWzRV3W_dcw*m za_c3krC0nz7_szm+Ki<f(Vz`#CAC_H`y8D^oeez=`!1@|?PWDzesp~?{uAKQYed)^ zC4)UI1L;gHTB&W)Ld1)}uLv!2#*7+<3v)LYYI2odF778x&edXWPG_Fv)NADhKK1?n zSCmmMW|>7|D}(A72b9zY<)yo+MV(_ZdeU7T-&=RnP#E!G_D_SPZ=`Dl6Yu-?uv3V; z#@K=#bZW+T_;VR&dhZ1y@5{=Pc3(3#CV*)a_K26fkID*#{N@%T=8pdHP7;zP3(^8< zd>K5fa7xaSXO~KON(FM%lF&qJYhO3~UO|b?)U5Z~yXM{arnz*h&(QhLPf^<6CDt60 zhw@b%iIZF+cIDT3<enYUVR?`OM!)rSNTxVqp@#?!pyK+Q4uZRw_~%#=3|m%;Z<(?d zdgPZrvT206ZcDCyoR!3<Qg_ncK@aC_x(J`4bPGp$hjTZd`($0J-vFZ~P3{qD&ZLf= zGKGO*D(^7_&G?a72v~%I1>8Bi^}=U9C6L_`KJ332nf$TcDbL?4^HN`zR6dm3N>X_y zm_Z38K?xHNLQSzR6AVjX02KwGtT!BXVpn#$XOPcT)FkM335P2=ro3SaGndnKmr-yK zO8`!ES26RYm>)CKB~3ng<eteZvo!{99Vj=0{MKCi2(E{ilfr*{6~K;ouq-&`=+Ycg zOo@YtAt}2H*`_Sg;I(jJmWHAsx9yhdF!YprXW)Wh!9bj<ADJ_cm{IcU5Pa<OJ2)^= zBebhO2nR;8cU2jN+V}=CS`>y&ZCzG*AP|(eW_+RAuL~Jv<3J1r7yi(rdCnN!jxzJz z-n$**;Zwxd{?BQ)T?|7(nY3hlWQWf{Iq+mg6L$8VZ7!Q!lyX1XlEb8H4E_A{I~tu~ zv4lG6BAlc+AkG%X#lfdZiXK8U{t9QHAqs#c#wlgG=?F^N3&c(w=M)<Dm7&ScWbbBW z`Xwpi^~I>Bb5eF7Y>$4)vQnGFk;d&iKv|>P-C>LL^3@{7?~4zLc)UO}eFfBC@%T%8 z*RR2Y5(x?60dpV<2m^X3TKjjoE(SuBH)+qC-VO8LwrmGcqqvTB3%+DWY<%dw8rMs! z$Gy8~7Wo8Rd0Cs3el%k<PNHx|n)|7wn>ECCHSbB8tU(H<o&1X)j6EXz<&?6#A8GX1 zQ8bYk)HK`MK-8P`TE*_XS}PV%S=p{p1hz4cR{tJrXPj`H<)Qv&^AzfwN>1Sgnq(Yv zobX{jahNa!`B`6xB4R{B5H^>^@PIDW^EpU8X$(jpGyUvCr%2mCbpPGZsfi6vwwmIF zGB*8&+qGzC#%q*6<mo&_4$0HqNCC|8>OebQw>u`dA=OcDk`nLnI@{DiyB`e&zqj+c zP|#NWV~c;Pe8?Q}Mo8e$5w(KtKI8wh@%XC=w98?Do6c})yH>M%5TO}eogdqzMm_`I z8&f$b_j*GH-U0G-BLZ{*Yik1^x;zfF#J4P=4Oh^h@&s;Eg_(}3QBX2t_>l0h|NKc9 zix)77_%iMMJW_<hj~@e68kiK|Hu`i`7gVixB_EoGDc305DNYhj{JZE|!`_69?*{R* zc!ym%>oXmf4H(g}i+9;LF$2#ch#z#fAqrHnB(8$%EBL;=5q;Z@5^VY<<0FnNfmU?Q zC=!4sAIv#-smj@(23(g&zm`-$E>!SC%|m+e!O!9xZA1!(m_zsU4T-gWCke~od<teb zgxUr0s+uRRX{#WFvIu;!v+2Tl=YN%a?D@n<+}8IXmV#zqVH|}|&bz;zs=z2iWdjan z2(O8GNlhpv!UkZ#t==Y5lj{Vu3{|zSD!#X#<*wu6=jP{3c@z=V1t`756(Q5i1Jo|X zy(|xOB<3Nk^v5|!sYSu&eQVEvbA9G>@afFsk87a;D*>8ADrRTwk{#XgOQ%h~86K)w z-rZj>uNLoEuazHSmcDfnf;Zoyeb$QcwNjY?Q1)S<qaG_qGQaLeGbf>D3s?N7nxELM z$_(OxyZHokWY(Us5MOGZF3aoZummB<j7%g<vhG;Gx~Ja@)_rLbD+Ewt%Y>(^3=%Gb zj+ydELHA>{HC~X_#FAwp<4{vV<`Y7u+o{r?ELn8t-%NgH_0fF7?reOV8G}JQF~Y)@ zuQW84el3{$-;OPNx`tqAd=tA3{4(3fY?xnbLXO%MtpYiq$=Tri)L}dGEh2R^S<B3? z*a8X5NxF<sV3)BSuRkU8UwXKGqw{XlXbmY5w@kIVu7^*dx!!9=&ZU1jyDYF@28`jN zFG`7UMIyp4Mo2oP<IH97)J=DIKUd0Q%%xE<K3VF)w*ecEF&(@h4W5*vSzQGmL2#v3 z!k9~mzt<a4U+4eO1bq!dx%EOz&5`+|A@j-eX@pD@4urBy?7MFY2@ZVokiVf6ot31& zE&7V;<s~_~E`<vP8>Nj)YND(SCKA7fXMW%8vgZ77eGKu!$AS9Bi=1@aFt`>FKKdg& z{7!w+Lq3J#<9<-mjMK`5#GKHGZz9Zbcy5978M^Rq+9dZeM=B3FE^zbPbo9`0zr0t` zi00c@J7mdES`|FTfQp#$<6;7(*JaNM5=d#qZRy48lP^MYvHx|8b*%%m7fHg!%eE>P z>8&;taG#dqWeLrUe3MA)D~2tE?>K~yMGfuZS<^~DjeeEljL!?(rbRc}$+hl0pKwlj z*?Y7%+%_*IX7?!!Z>UGN*7AW!4^{24=QDcx{@^`*>UW!)Hwq6fi&GyDV;E}K&l`00 zMC5RqKw(c++=?YF^*Jxy^){P{#uidw*p=O~GKkHHcd#&>3{;dz9Lb7-orLO%5b%I? z6`De=u=<$TZhn4t4@rS72HvhAVqb2~u=_Sx>DPQ=fk=ZEfd`9YoQAIbFX^xd$ZQ>+ z5-*0#u5`f67ea>qs={{>a4C*ohGwemB={qjLJr59I4L3BY=epVSy$fn<cG{?vO#-H zYD9AP<ku!emp!_H)8I?9FTjY`sGiXxbYjt`ZpSfj5V@2FhR^%={Lv@iCh$4QENdoo zrR_%lypj)GD|L<%JzS^KqEgp;GrSZO-<Xt?6y-+2ZDfmVa#+vrA`Y4_g9u!^F^9yz zdi6@SjPF|}>%N$R=1CX5xEBUG3N=RbLdFPP`>(N571X-jBuNqlcoLl`$*vA9@fGoV zwy^?fB7Vjc&nAlKHb6)0lI?M}i{nw*@t*e_T(?4xn2_f!^dEB&(r-4)1PaRL`MA-2 z{&sMIu2v`_(?BNP1%ySZf|(h%<;7O&WL0O!{C%;sExP&la)>JJ&l~eoLR}q!9^71? zZ$B4%8wg6yOBT1NrIxoHL0rUHZ$lLc*=V-N<L}&nw%x}q=kyg*F?AVEWmQhr#pp** zdRGscjb5_!nyXpjYX<HUA3Cm)h9lr_be4w>JcWjr>Zz`I^xeLBVly^Baro^ylII0) zk8pj&tZ1>{(r|A6TH0i2{p}sIO?B-|>ufG<@(Y<>@m>hA?CJn7Mj1$N`b)5D!lu)Y zPNq|{K-c+aV;8S59;<u=dDR-A9AxsX=%1<fO<TJOB|Db2{I3lVupCD|XUrCl9!Fdo zjPMg#Ep`E`WF9trSeQE+nNbw~Yjeid<8>9rfr85XhtIC}ty&_k(Ga9QKZn#sE&eL1 zNPS;#eQ@*ed?BN>Q^E5y3KauG&DEhsEhGFiDnu8tV+#L_)XNaeSMsNaVb{p2!$l;s zn#hLmFMI2_7mo*jkKp|0JaQ9`EsaEHtwU*^C*q2D2cC6|k@ZinT{kr^79j2lmXR;B zN60SN+OGTZt|lbzm}a93$r*%C;OyaeuXttzBAK&Uk`73H)mBQBW`D|uA5O{7&k{{f z>k(9B(~-s({@-3${%_zy9V<k*;dCvMd3J}7XqeMdk^77hD{j`WmqxFGO)(wE6f)mj zT|W~NCKReI)1=+^wd0+B{~@MJ=S*y=T*-zOPXAeP?-ElmwEc=9C%}q>>EwmaLCz~W z(bx$86^iO?8xEnW#tsc>OYvst!25uo1M^Nbo-S=uSYy9!k5lDZo1Gp$B`t0|oHTa6 z`!Q$g(Ru85q<VOyn7ImB_zA=0NF-d`bRVzZz#F%qN7w23)QQ=1ENHKzPFm+uY%d;k zPAY!BzZH%uVbAq`c>V?NIcAuU%O70vt4F*_0QJeR1M2vLNj@Ef&dh3|nNWaG;=GK$ z^?}W2b^hpA`I<{q!IIq|gKux*@k){#syW<F`1`xhPT$X+gb*J*uV=QBmaDKC8o^jt zc#7X~C^MZm8ET-(l2-{(LwYs89h3^dVT$?kZB=;%WFtV4sGkZ&!#}#Cj_VX)ZA~Ed zZaw7NY5zQ4tgGLC5%w{%PZ<|_*^cA{yYg&uf$4qclr1`j5ahZ>=183sCk55&E6;{8 z+GAz&svQ#hF0;?$5EOHOj*jkyY@uHIoMB>*Yy|;qcE+Q;RXDMhD2zq{Z%Lyb_Vma; zEDTEhyjZ#3|CAJ2t1uuqhNL_>>l%B0bXurkioUA5Od5Q>j4Z-jAv4g#Lgz=Dc*I3C z2f_T>kl<3MvrWa2?;}Gp{!`{5b2UiX&qEJUkQuW6kpR~C1P9>)d06f<m&@$`my^;J zL!Aay6w}H-+yKd0KlOl`U%I>?h;r|4T88rZ`(+RiOO78X>?~h4aM8I$*#?pduR2^Q zd+9wlY*JM?L3*Ma;BSYOvQ;Hk)ToA<E0M&UiVVTf!DZetOxA;G(pO_oVue1)6h0|7 zVUk_F{nme-p5VdDz&0zxK-ji(#^p7QxI!%0xrjx%<Bu_(v`>G-Ce-t_U6^bCQ#mJ} zsqss|)m~-EZqL|0L0o9DGm5dPQuuL*WY9iWt%8ljyf42M%8;`J>8J6D8TY?vL5fHd zB!SlD<|WAyE>B{%3Z7WV)Kx2d3rinW31F)<OM0G)9|f|jk~j`lsYUR*X6{^2J@r^t zkX8tgf^EhfRbdw>&`H}*ueA)PhpE~5bb6}FCmS{m2^n2^p~2m+!LRA03^!gXP7(^F z<MV8nfc}^g)40nNO^5Dfu=AT*+44vQBKvcf@+JL&v(U(g`HflH&^N*Hhpg+>`t?tu zuV?L7kn;P@;$K$V-)@P&rXiwL*k4q&EB^Ph0b2BGMtXXJV~bkTi?}4+?xzt&a&*=; zvd=K6K|`SRA1}xvWaI+IgRXQTvwyjc7@tCraNw>cBpWc+vw-q@=h*YkyHS_Oi!jss z&xofD8MUFs__p!j*YqqW&16o*VR4CCvg`3A{;)xHyjb=!|9>sIa`DkzY$=$a=Y%Dk z+r^gi<3%<SB{j*;Ok>hsYp}Vc`*<$7n^7T~LOZASx!Mn=?LQ;c#nBHvIII7d0_eES z{TUV=x1@tm<X&z+Xh~1r^09zeOl^>$+axJlLr_OVk9p2w*SHr{5<dmHgjwoX<7~<l zy@u_5RL3QKUz_l@w4%+S)M>ePFqQoMde4`^TCIHxV(AX2f=W;YV$-`T;npAbPqn7+ z5$ZXtTNv>pzhz6kT$T#2LA$V%<}2Pnf#YJ&CbLkBU46%0J!1HMX@P|{0P;+diZ?hv z%GIB=&1*T)(3$yz=^&wd+1Ubm((?8KJ_X!ohuL7B`0Qr0D4*%P`*F71asDLF3(-fU zx7p1kPM;L*Y`qk1rNZ7t?SI~h?U?E*{G9GBP~FvP)P5OBt9s{C9|gdxc=g_|re)o* zE9S*5MLv%f`2BKyY5tP^8tlY7tTr4_sZztaY%L1uBM`=z;wCn>XsNguw_L?kkkm9x zF-y7XLOgUeBhBgD+jD6(4Eh75VQ$@dbcMem2-x-CA`G1>BkF$mLZ(b0`FjYm?Bp6r zZlnzh{cIkT;2A7W*_Z~bc0i7xJ?Ju6DB%6NO<mYuN&WaQpj`5-pVT~q=8b<cabF+Z zFZN$u_w0{m9x8<rf%k%3zs`^pQpwBNR`Mwg1%w;2{+-L9VMtwc=YuN{`L`No#A69G z|LgHX7edO65?3cSxuNB{ND+Ci3UI6*qLyv5@Rs(8nq^$DfcYGht{cKU6<o`fQk+MH zB;kdNmZ#=m6szbHT^c3}h7<&$b&l(%kPVQAEy+7@&})yz3&W&E(*!{EQ+Olpd2Zd? zb7R97D}X2z(It*rnR1?2`;Up0OEq&0%boKK-{B|(Y`j2QLkkg08<U{g%C5)bIhg>R zp+|frG-LdejG*lf9jM0QD)vbuSCW*~a=`))Wpxjq4QGP)LskYTvI~k^p4O_ldZX(5 zgSp{`B>I=@5KMLI>T`}z{Cz%XEx;nZ;)a(qnN+b(4OhJVp=F1DynRrj+a3r@c{9IU zr^a3Lm93z5DTUA9@rbGXJ=Qen1N_^?c<meRwjq2@F+I5V_J`o)N=uYcCYaII*YKBU zlgD^cKRPTKxH=IjNdY2&o6Q;i)3t^_wZN|~@BlEVw|2hLkkqGkj2sK={upWBQ{Y|b zg5MwZiS{C0VRSxiw~gO#*`&^J{GtA9cuDHv_qXw~e^9=BS>Uh%iqQhc=Q2sIO)G5k zUc6>k4o;vIUK&R{mLA<7x&U%b+>uRFNpivopIXQxcvo}AfFJI8C~mGe<uUT;_YG6f ztbv6#SCgMTaVh`DyTgWQ0A~bFOZ$lR>ne7?XXjG$;wjCX{ntN<ItOvn$VV(+Nw@rw z^?xkFu88?8?f5KuuK0^;G$nm#>`LFJSVWBx`{m;L0D%zh-EWP8r@ar*mFIS)Cg(ba zHO_fXgLRLmRUJZ+gH80b_1pU>>1RMexnm-Ej|YG$V*5*!lSkiIuYm|?9mZ>{cS0*J zh9`G1ujs<J*W5C8G7=5ea@6aeavs#{<s@xnA#SgP4Wp8;E;4@APmha^#Bu;X(~>WH zjT?L2X5|UpUF!Hh`mfcx?;_Y}jri@~7|We+nNP@(QK*jdLxD<|cYZ&vS3RQ=bj5{Q zEfVqq2lTh;=xS7V;ltBOhUDldv<J;^xFyCZnD^Pr$q%K4oDC5hi29Qac`B@5^?0iY zcb^BFioqgz+Uf|S7TZ9M42!CQkOgIm$J%|KBWrxnQD5^jlahXg>$(x{KH4BRP(647 za;Xd<<9yI&t2F`pzVuLz767^B7jOa)5prVT@HEzrcGSxgOU4Ji)ANGN%$gkM)~A5| zzn(16gDL#n1$#r{$tuYtvlb&)jna@jHSti{It&Ww%6q{ASmEd|j7Pt0CS$}J;#f!0 z;Tw@`KB4f_X)&Iz$M<dPp?E{m3rL4BUoo`=85s5L2PM?Hs#=RPlW~4-O#`&67UaAU zS`<o%yZyCLlpJS$KInK}uAl`tuwcjeuaiXtjVBRhCUf7<N$#=F#vf3jw<NsYAgORN z%?+tvT=Gn3=IpYVC--|g0%UR)SgXg~3}}i2{2uGwx_7jN;i{#JHNn#u`)h;Ad^sr1 zsn+UyH)Y#Sr6H-&sN}R#hhz@qfKe&UnhWWBDYcJjI+0=Xv8V3EXzW^RJpxMTJGp_| zcm;KvVH$dth@kd!Rbk$jZ@XvloQ6dy_5D4l^79%v8P<oc;?o+7noVuXDU(CjB`}~X zgB7B$RA34#xN-LtkjZC;eq${{k}CUt;hVrjqKy_zH|JjQ`j+s#8$1NM9nQOo_E_5} zDs&cLH|xEc7KKX`b(AXtgLR!d<^uIW7`)v`+^WmntR@A+$ys=e*Cy03z+;XOBgR_} zv!?CdFHCTk`7~X_kV5S7gml2tjG8RER*9S9{Emp|K0uau@Rj>+VeU1(7C~;%J@qwh z*BR~U-Js*mNk{G<tJ5*;QX_^Q82*y&PCw0zFUC!5X7jsIF{I6DT22q5xRo}<y<xnE z0reUD=n9!4`w75s6fn)ZNR<mA!#BGg>3USlmE1n6s2{_Dsw*^l27#1=Z(nZqF~WHR z;Bsxq(v6sP@9;~Aa+qu=n3Pk$E_@$@ax{_hGuvN&=#g&Fj&AQ_H*k`ElNZj<GC|$r zzj|>}^Nw1Wz12MIIfo+J|B#?Mjii8YY=vmX`Utv(KKab>$Wxp?1y?+%$!jLiH3}Vs zl~_AyFXvS0k>kP9@=uNBFdJ%VY~%8#WCvEL3=IXbiTjtNg$){ZpzT9S8u~U-{#(f{ zquY%dOA(BnKb3%R!>^IYuw7I&lBq5)*RIdN{x{o4YQqbrOl#C#HSas~9<s`vdKNQC zDHul{@X{A1wdR}Prwp{qcMSwmEfMmeA9bE2nM6*w5W&~Q)RMbgT&*T3OarPa;oaov z2E4tyVnPi8A+YW0szz#wi-O*qz^#uN25aDUSd3#bt45%33YZmj1GAQ!$6aqiW=NX% zb-lavJ&vK@;*L<e8Pk@)8Jg{4_x9&>F#fs#fLxcecEfX|5~J_c@sEpjQ#ei};Zp|g zrQVV8jnm>a61|@1#3h~9$BsQu!d@$K(~(5~D2;v#lJ@X@GL$UGgdpF9Dkzrdn;(;t znCcvZe?!hFA;dw?cV-`ufMJDsmhg5g9G;0tUr_+Cg>q2`f&<0<#8wNVhx%aOT}U~6 z`ot_-XxeE15w=(W(+4b910lFu)#%}*ADI<ok|SVy(g@#&ZtPWTYRaCI#kSQe_2m|K z-62x;5YvmXU%wWlVbjfW(Qss%k&u<Ub-x%mWeSN~8aG@$Pj}@qY~s9}H2?7npXX_< zEl*z*PtaK$9WEy!(&<*3{|<S($_V2NnZj1NoevPp%rv~DOX6!@h5pl*X@PN?9hv$B zs7*@M;oV;jynPehP0Q2XkGrQZi7xMOTjAprbrEbr^OO!%tf>Ez3dKX-csVk?5?39& zl4TFy6)M359f$1sf9=Z*b`K`Z2V`xSiy!7u!EF3>tk>}w5USrRJW~*FE{>>LFfM3? z7DUT|XKqyc-QLrmb6FoY+Dj;GpI6Vg+k#SXTA~g)C=f$-v`+B*X*XbIt&-v-UUa&! zp28829=2@zYWY+`J>d6I*oLTkxj$vbLjv?3MS|W<w2!XF%K{kb*F-FFP72smoMZ5P znC3HMbp(!VY~TG*a~hsNbG3Ti6TxVMtwoMI?xjQJ<`wJ~mJ7sivwA5rjdC;s8B#F; zfA7@p_ulymK^9hw;qFbUEM<)OTvks0h;grw4@CBXSs;r&N;hV&fb=qQofsa}$0Kbf zPF8P0L3tEk$fya}ExLIgdrSL%kMFG%O<qVfNRQH1w$K(|R&F_}U?I}d-k3X5)9-7E zS8BUIJ6=cD8PUX(z8&u>vgPW~|2@_dY`Ha1FDKnGe;4(ynNXeL?@FQ?h@cw9p6q(o z`E)Zj%a<YOLzrP4nYuY^-od!xXFH#D?@CnJBa7LBr!ftY5OgN(Ao101EvBCK16eQs zFxErUmhMz$-yATfDHoBdLbuapMkSw!8O$Mr^c#=4;?Uz|e<p!!X4>`{bEj!E)x^Q9 z({R?_;wdJrQ>@g_Kf=M@-R;5!Hc7wlN#EmJJk@v>`bQqSVxpOhFt5ReA*f%eaDE3a zB@R1p&a5<w_eQ~JR-$jg#GbFJtvwd6)O)AVcB2<WP=rlcU4vl)&vPVGGBLlh3ZD2; zU({|9QW<nZt^;;#pF(Rm01t*WIga9{6$OySzdtIU%5K8H-Pubr$Vm3qe~)M+UT+J- z%z0NOmQO;RqIJzPm90XKK1t+$CSJDR4Z<PC>NGo+Hl$x2g#qs*)xAh{xHEu1I6~;u zW-=Nfp<!e=M{W#KDXW=<9I;`X@SRzn+8{Ht?y8nu8ba*oAen`LlvAWTd*P(@kb4<f z(gB=h^xNOaAcG5zD@&cHtRHuwpyTXZk)F+)2XkIuHJ3CFA0m+4?s}Vi-zPJb#%<~7 zF&w?f<Zfk$9sDDQE|x>!RU9E^ViXVAnQ4ug?2s`#QMh{43@KGmZs7GI6?c53Ez0!t zG!uT|{QzsP<8?Tw>eA(3>F*Fq5XdAuEtDqQf&o-^>vQo-auX6~ShpeBJYl4bGg(te z^oIB#di{${)oH$4TWc8NkPb{1ai39^&(UqU@r!;8Y;fhOl%kpeoQm>UW=YLo6mX}! z-|Z=yrXsfGe1(R+lgwO{eAl4ra2!B-xn@w&TuCr`SU)3i@O3Ae`I*E!(m?jb*OC>I zGxfO>U0GbCLNm-C>(6d5!x#h|Ra;Pt2YH1DIn&1#_V8MvKsTspM36b>GjfR(0$cVM zmtU)G$&1ddrFUtX<8B75PXZmuq?@@ZHnmG{0!4)Pvki-Dd)(6vM*uQTpGZF6`m+{y zEyb;smv!V)z7=SuL-UaA>c1!p41lyJ$lV`4<;U;|%JJzKTz<&=S7IVb=9iaA=gwhG z#C{>#%u{dUxG1r3wT+#rSPU6Oi&i_>N-lY{zVKVRkN{+k3oj&s9IzpP#x;Oix6LCo zyf?p3yh}8P=|8q<Tu>oYsi4=$!Zc^*t)ujo=c-Pp%!7}U-LPupBO5+rKFq0q{m&m& zHRcaCHP;$jXDdlQRgF#}7as2~$T^MGmP21=!JpDTjbD1IrlW^*9^`SuO-P$fg}YAV zYF15t;Hf5Tpu_pG^1D5OWeHc(Q2q<jYliZxABXeH>%Biha;0B!-#&I1UVZt()f1zb z)ZrnLU^|U1j_Lr4Er2(TRLB52KLK_Kx}Opy%Dt@Dp)S`8EeVvo{sh2Wbk6p?*h6uy z<ZCBv(1^zX*vqg4SA1Ny<8a&gla~F2OSaO<cWGA?b0}IwIsW6CoP*4E5KcBvFKx=| z(2K6IeAafgxAV>C3vrjvpn+s31#3#g*r0xrwJT#x?}Q>R@ItvxC7`%19%V+uM*Q#6 z#i#V_hGcmCb8P!1Iao6vv(?3-oyiitQq?f6NLE01_=AJySJZ~N@+$B>dL%0Nfdr;q z>N5H@EcljJ#_}Lp#?lr-0^gx7Y*IDiDu!AC6wCNNV9B`KcKMa61qvo{|9d88Q<ACp z(?V%<un1XCrD}-Ez1;kGrkM8?zUW<_a<tjHcr!U9rk>?**Tj;459m8R$5`Eck;GQi zL0I5m^InHW@rW(eND0gbJ<DTbkv1Y>Lm8!}c+B-2KLO=SSELF4IGh!Rl2u7B844&g zr0z={SvN^rrB2$YNeCpJarZ9U9NH+CjJxmV<UOZ36e)J!ODaA6_XP|w#OQ~@=_xXw z^)CWPNRtnjUe1ziyB=yE&h;Hi$&0izm~7!*@sLzO$gqhXLd+iX2d1QW;{4uMem-@D z%KlRP={{OT@JxZR3N=Q(hh!(H_=IW6Vt)lRZd|R_DLnCu>G#irJQe?R3F`#UY0;dl zUc&&A$=~NXPY^4o6J>%pci!vWLFJn(dA5R%_)L&!74%=W%s#6lbwR18kT=tw4kbYN z8_`3<njsRveWTJcvL+>g4J`^s>x=w%*_~ZAcj7-N^1-US?0GGdB!KCNbKoC>7jv0% z$tR%go20_CX(@#yOXFxbPB>iQqeQR|SBbl#g2Qe_if*!Zgu>W46$)9JKJ5??CnOr> z&Z~FR0}pqvR32ARZ9kX;m|vsP?VOq@BYMpeuU5um#$MzK|CT}775*NGzecjg>NT?2 z@%9<`oAA+}(q>E^e`=J9L8{`2+Q|1?g3$qmE;vw<Ir3GF;=6P%L-p?r9mu$r6dK$$ znjeIO7JRdH!euNg!+0TE=>0JKqwLHx&r^piR^wqpywVU0$8S#RiZ1T@+cX2qZuv1X zV<;~^J6t1sm93j`PK=9pr9G+ljQbv&>ap+tOTy5F%+sS$E3Wo^?qXs9Jm})0oNWv3 z;fj|IIH4(r2uWzgoM-3Cvg4Yj3%IL(Z~4~){x9aB5q#S2<5cbWz2FrjW{lcytyNDh zZQo&k22k@mZKUe!>1FuocoV=-I<r1d(bj9yQ6IHOO5+wGAbNai!e#+sH`eb_)6DQo zl3A9u)$v2YS=k{g$=yf!?vzFdvL@*L)9k+8`G&58!IS+Dj&CgKRP~GKPG`#jLbs1f z6kF6udqQ!CAI^pPT4^{%bj@m=dhunh)l}#7l~2Fe*M&s+q7nPrCQEJ*j0dQKfitIc zWh9Z+QGBxMCTOp~7$2|~0f#@<gE>Ryz}o>yH35Q>Ohy{b*+M^xdZ#3g_t(m|oF=OD ztBKH~(Ja9;d%*LL4->#K(z{UlGHBD;{f9i|OvDraL$E}t$j5z9jSU|s;Epg%LzXvZ zLSKp3FIoyrr*Zl8%mDmd!EL8EE>3Qz+$8_xJXXV^Ke?wyjtS1XTV4?KrsGYHUT(%< zSGe2G*>rR7g##VV1<CZ4$r_I~%Ut;y?<BERaG?tNy^eGOE2_!X*Zvf&?W}4Jey#3( z*)E<8g+OD2>NzCd=3>4h_P$JIB;$2hI3yuu+y+N&fij-_ZxH#K<XB%6=hG!%sel$0 z<M!Vt1QFV48+R^0x-PT_b6MfK??u4`Le$WGqeX{~y3RzJj;@MunE+9;9ix#GtzAz} z?C|e9TVi*)!g>PFqkPrm@tK9Llq7~$`0<mw#buw3QqVGi#MT9gIk5>Tpv73>-p*?! zsxUW`bz$`F^84SVtg9TaO;U5O<Ar6u!>l4}yyoOSK$loTz46YPqH2Smo=XTlzEZd) zL<=IJyunz#7x{tB5v~+vbQL{F-@fGDA_1eBV{r^ZLeeCv4eL}*yu%-jY8AvefmCh0 z686)Lt)n9Z7%8F=uVs-gFWkV=*6_YT^e%(E?n4Iif(G=97Z>_+>7p$BmiRKif)tT9 z$wScay+K7w9G_fd8FmXr;KHZcRg6Pbi`xlBi1V~k6u!z#y6s&2DPYcCct}_!u@xC) z(wjUIl-mvio&znTDQ@`*Fqs(InTJjFai|L*)&WIOQhEc0O^J)M2Qrn<g>?SsUowWc zQH{`AB#w3#r6rAVdOIRN_^h%V$h8<Xu&PmD^BGwVqnlc^#-q=e%C#P_v9Zb1&L$*2 z`+>^wVM)r+gHd{<-ZZpxATu+wp{J+E3~5O2S4;s2MD|`fNX49C6EWaF#k2^KexWME zu6+NaSkjnET>T9whvZyd>uDI4BB`c9h^-S<z^^KOcRR^iRM~d*O2r%d|3PTJ3Psri zo(51S3X@|d)dy1qv=bl<JtuP<XMa!{Mv+0BR+~54smD;XEXIEl6p}=HcpMh|!#ITW zf_0b6t`n$pvFfRLWZWjHEXjtSY)I1gLlpd0t%+e51QOqg<4JKZG~g0Hrbn1g_v`^< z$wv(7w-`~%BG_^fO&TAW_Atwzb9bJFS4UN_5q~5eJ_H=B;G4rP0Bw(H%0A=ZZ>3_< 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%0DhO%TuM7_H)O-CMgkwp}jpg z=Cy8U;oP#w2~-IeFk`0eVd|X_S(PF|$i`8tVrhV{PXc<2yqIGqSD}6UwHakzupV*_ zZdvR|eZZUpnji-=6*hEibnu)rA55pPi|v^x`UB47zE5Sqz5lQOz$SU2(k4!;POTTG zi!4qZqSycQg3k&4rO4Yw@2c`ymh>Rpp!>Uk26}@4f{sdiUFP1+jGGf-p9S8(Bqp6G zGQTj?CD)9(yXVK3i-v;tH#?{4&Y>O9uU}6rw-1ZDE^b~YNqlu13jSc?ixD91qiQq9 zH_G@MUoXbJLZ0ItQ>u1+-VG?p4bHP%@y##ClDm)Sh6Px)7=qeu{BCY+6Mv-2Xt>pB zhB#FtRqKg&f8I=KhgvUCF&rS?@|OkzYzpYcV>o1I5Q*Gi&)y>H2zUA%FN_tTxVK!^ zNe=J{R+n04W)zyLY$;k~L6Ye3?6lv)gUDIRx~Yx=^Di(w@%SdM#CT#bo^g(-=V1z> zkQDv|Is`71)En7G7Ee!NdCG66_Z#f7;%qF4c(r<Z9tHKkNY}ZtSoRc*P%x98{oa+f z{c4qO`a$nF1Dv#z^`vzRsa&m(d_=!}{fq{Zr0MhY49l0Tf|1cacN(=tfiPp0<@-Vi z$F`-^Y1bN-m}`n2gf{^#Gc@Lvcax8Z1)VorRbuInwqT8}c=qX@mw9!1d5y6WOB+l& zEOWeks|={j9{Y=WhJj0B3kmosgiujzR)=Idt<{P+KgoBad&3;6Qy5KyPr*aaW+p2~ z5v_S79yU%jLw#IjnoD35GPo&tCYOJ^C*+UXgo3Z|g)oE#q%QsMyXv+!zW9)ip^WtQ zI5~gL;a>P6+wEgf3stE<+sEJ%7nnY58g)~B65WR_R8%eTwpxMER?I$;Q&N8^hQvy7 zGp8Q$qzfDqX)-}uvrj#ZNOxSsao6PFii9Xb?tFUoZenE`vDCB(24|X{VaQQ#iakqy zY-I1eyA^^q9XDT;>SyK}TATyd+Abw8aIbi0SB_KgcibvDr}zbaslE)o@iM9;f*BrB zXl=OVKbM=2J^7Msl+RViNM7hW04YZ2(2R)@x8sE}`_c@u9F&EJ58)Eu#CSm_Qna*o ztGu*&OSh;A4Y1obfh8W4Qy;2KsyJ8%ZkCHSJ~XJ7TkdIS2GF!Em-h6Kg+n4NLLHW0 zZW;k5zoSApQ84oE*~!?CQ9iJoLz41~2fv?Oxkcui!J*0qTiXpldO{R`@(}uo$jjYv z^;-Iyej_M-^LA$-;qqp)493XmzATi$sAo$+i785NV!{1LHu{0a1l5N*s#MMs-yMgK zh61Ea=qAAJZxq>xy;eDR)AfC_9e?1xfvAi)hd#HBeqAK<3SLnPwks|@gvg<dPjqA; z42*~A4gpl|76uK%x6kf5Xm@)X925?n<&b!cNl2;75B3T8*ov~O=sCK~CS9E~{9%O) zipTUV2~GsGB*+3AC3-0?jk%!C;1Eed7j0$O&*T}afp&wyf0$Zn{zp>XmjhR$i8Vpp z59U_Q8xnFPuzZ`AM&V?{Z-1lCLS9H3nOf#RbA_wECshMz+xX^IS+a9{`l!BtJtrT9 z;qz=Uax7~#A}?(rxHAv=0&T^zW`ur-5E)<_3qpG9;7VMAv=VS({c%XIg;V0;k1M|s zltjn+fFkOQSEu*su?YtCa;=lSz9^>Xy~-0GL3=yqFo&a?B4S*j0b#R&zH!f0a2bZh z+XWz-yfim5ETQP=@?Q49?36sBF7Y9>oswMJ07*f1ocHo<pcX;n>2xvj-R;$9V%@s) zzZo5IL+_kPhRzdagyC5sS(Z%<u_jtY6_`Ar66ltlBBLds0_Yh*_6t5IF&K*d&Qy9q z?=-uW#mXg|^PEj!J5^h|&U+6;Q3^G~cBq(Zj#c_dsXu>`%h6yN=&3(~-}W)}5$0&+ zxfyxBWv;2~v3ai3>R&>-s;32+t()yerJg|wFqQAulPFL^QzZE-Y<r(DOCD%25RiUC zVE{a<pw19Nf(&udj=N)3!Sc!05P`4^of$lKBj;yolrq%QrioO)89g~X!RQ7vj)p1x zWHb<*mGDPI`uamZ#`yKNj2I49Dig2h^}8<tHp%2PEP^c<TU>I|EaX9V1VxCTQr{zi z9FMp5!h3?tW_fjyf%HqTFDnyC^9J6g2{u#F0GhNZ6(ry*D%(Z=cYLCW<{g9HFXEy| zPrR1Dy^bgXc`{@**#ik$hgb>q&fELm43_T{JnKt{4GtmqUo&Wl(-HrtdHj#f<p1hD z&4jeuUo-giv=OYX>QTgeKE4Q+-H_}TUibHfb*Vi4%c~m}Mp+lOWfWKytU5S;fL&3l z%q+2ct$nqo`7ZTm9&$Q>YuZnnT^%3=4Dc~5r-e0$H41RjoBj?m6Fy6FiyJSNc}A>S z)Y%%Q1)3tLN41W^eUh>zSSalrh_ywbG{RuS4Jp`V>s3k22^eS3Ub;GdPm#1z^3Kx5 z<AG&Ux-s{TQ2YG}rFrE!xOSX0Tm=l@UGdwyj-_Pd*Qs0KigBpe&OKUxbk4K0c+c2^ zkxX^<;-0&GjCV#UBj9{Q8AN;-^!P^p3VCAd%fj;^vIZiAi{h0cA}ro@T9nN?q*bcU z-BxtwD81Ke`^wJTe6|~)*mEDtOQ;jBL{=d;1-?n7OPVU#f<juC%A<MEe#U+y$Beui z0`UG@UtH2md`ZP&CEF7Dp_5DV$$Kav_B3z*TZ=Ta{$Rt8m?8o6!=f^xiaYNyhq-AX zD&NV-r@^Qi3{&0(j>s1j^iZ^8$8&${N=G45d!_AyDpj<NSLUM=VurcGkGh3xiK&3G zdAEx`LX3^+o0b}XKj{ElHN)ylH$5#IqMKS@9XSwbxYuv{A9Z3NX`|+re@?eMx`Tyx z`N8KhGv@5wVvH3f8l0ZLO#)&%7iTun*EBWP+aQbR4whkB2=ykL2_-I4$YV>}GOuUd zicDsYJ@f9iF}ffa>p=!t$3$m%G4Z%KZo205PB%dh&RB0<tWL=;WB#5MiW+NdiylQJ z8HrcF5jys#r>hqh7n^zW3FZr(y*co{jRs4#igt)XJ@fXlA6C`4)W}R>cICkpYT$sT zHx2@nj58j_R5M;3?+lEfhaeENWU*X~BVP8D=CT<+|10*enlGPy(6cK-4e2c+oe>iM zGW~)mds684Ya=Xm^tSiV3G@8(jz8vn-arF>MZNFc>8h@@?{KOt8|%32!y=y+?3Zrv z9s(<gunzx$YTBptHirt-?KOr#JcJ6jO1+q-?d9LDBnu9#MhhN+#=m%Bg0srU+T$d9 zrvh_};dod1Ytszvw718tWA6E-wFKOdNh^dOcicW}erGXiMIPWHtpe&SDtp&7xD5M^ zUI)UErt<~J-#I1*z~lGq@J)`jBjFN2EZ?ikIJIkc4z9pl0Fr(T<7^Pd!Hc3xBuA=T z8p34D0jDKveqnRb*M$}*!!c{RhzuD%NfJnl$#FHBhw;08L{+pIFKcKXtkk#IS2P-Z z3%96P=vgkR6K%XmC_396p@^TTQ-b->DrOALxdYVL^7R2}px<{q8DDw&N${X4f&WGv z02y#0D5OL|`w;IG>#Rn9-P+!k%FYHxqSPPWMO98u>UuKmITpc_&zI{0Yp(Nwa?Y`} z+hL2d0;s@*%Y$i|KZgo;Y41I_15EQjE`4BOPXoCXcA@<3nr&{$;OwVqrF4zp%}G?i z=rY-q-FVOXi~vW<`Gg9D!V*B8PDqg@lxQUNcS@1kL&;=1d22{ERRhRt+3Ef73i#KF zfs@KoaKPWXy~V<BWNmuIVRk}OFfI#sOu99-gE_|qmuB-Z%mshZ<IttVcS1b})lzv% zJJEX)u`VA~KSrnZp#u8Yn>-c^<ub%G-B%~oFoq+Ipl5)9V|L<PQ=z9Pz_A!(wh;!e z9^=(6NdSi^pYixV({mZ-R1y67dWAhvx(3NlJS{V&B4CDL(1ML^5Uw{albIij9079g z0h3)1Ljusy0N?f*T3OrWc9rC^#;R(cuYgOyRA!bvfrR}Yw(>nJN3vUqw-$u=-Lr&M zZsCGUq;8gZ+KzD*_^^95ty;|fH4H;-U$t3+J;6r=syh?5n+XKyb%`Yt22wAGk7Q@m zQcwQvkXNDvBI$~_VS8%o5d|;lJC3hYBnJpXJa{179>a8qj?bt?x~GUjA5QbxM>fQo zZBOTDHyVE^NVi|sZm_)I)1jY<Dqzo_U6<oPeuq*2)rt%9xm(TGLc5_4R6n?j@fH46 zHzm}DxOFS};OOk!_ENAL<Lq1c0A&Vu%aJw}ENzoSdhQxgjEdW|1JSd#j!%g4|M!T` zAH^C)Aq2Clc>&!MAG=tnXz1;hEm@y8VLFC)&Gy#c<{`RE)bHv;w^~;hogz9zgvEVV z53Mra%?+M-P{zYf$<g3fP_pwNVsp%)OyEdo1YKni3Ktq;9TmJuuWX51GJbX}9k+L# zXxC*xmCz{acCOb^ZC&|!0te95w?&&+YBjJ{#B_*lXHk#sN+`b7%dka2h#df>C|ON0 zr#WoxyBz1J*0q$QjkT4aO-^r_V(Ci44b||L%6{r7JMQ{fzPrqF-2ly&9{40#G7Lqc z1UlEh%1i9tbyIDzCdM2O7NSXwOhOOZDcDsGqATA%ho;UIQnu!@u-HRDx^EOUj<||B z%6~jn+;lk(`!zJ*$6Aa7O^9<Ve|oB8AIiOnSpqM9bGke;SK+ij+r~DQ0k20FwHEnT zp?*teE)MZhuc8?#faDbjhK%+x+zJs|%b4`QO3z>3r7{_I{IP`L(G>lqiqfa^xL`X- zX<HE=lE<D=>FD}z2H{G-A`z;AvQ-sM!W0X&^U>GII}+=;(H%%~lSs~{bx9acB)Y;z zOOozp3O60Po=Se8ZXU)c;677fg9<Q}>zAN-bnxV9kNq4%G@8iJI71Q-vv93boj3PY z2CqC5K908Xhob)ZP_Fi;=)&jPWABO;a3fcUS>j0@YLjMAwOMHs#dNBi;9#zI*k8@Y z+WtmH(U{E{RWBY+rG0B$WX59}NcL#w{;E)*lR81dxS7@sE_7xK?9_0RH+~#+v3ZtT zC3ZqA6I|TXSPC)kIDm8LA^l~Za_a%{I)G!^ew24t9!#te2(h}fJmwb^oOH$iKyxkg z-X_7m_@<-2jmuCQyU2CK`5F3j*#1%BX^A;z2kR^NsgsH#Ky`l@Eq@hG_*^i$ndKub z2@m2;8$muUAwQUQ8z#mGB}U+BWMls>Oh_aBbqmJv0Op8w_M+=J9Sx2&nw%-$&)&#E z68-^-NPg#yrK)$1E4Y%CJ%mms*;%fJRDz!U8tM)DR@_HRYM-8@jv))$3_o&7k0Mk0 zu?_1z?`SZq$FZwG+}FS<TkNLp94ZCR`+wLv%ceM^ZrgU_ZoyrHyF0<%-QC^YoyIjd zjk`l|cPF?LBuKE}5a96MQ@85Wz2{s1fqwSdYtJ!<l7j^FUTJ(ozXnG*9PrRPGaM_X z#Qr|AtJY&1=6ooQCwGuQuLvm`Dv31nn>y2RODR$o;$NHM?qLdnsfcFSX-wq1w&mvG zKJV%9hx?&oFh3dBlEILR0URWLX)lB?bVVd(fU~x7-6moDji%O3@Pct)+hh9gKhp~+ z;e%-gKDYJj%U*$_7`18uyBKj1>E2(BZ=T0%Was2`p-5y<XJ$EtqIoRv{D3Tm;LXQz zoYZ1B-?o=jIg<nmj84iLms)XH;4JjuIQO)kSwUXU;@@op&xdhheoyCuJf4Qt7sdRh z)biPl^S&)}Ijj2ShlweBBr{+{G3tP{gfSdNi&if0Kc0(7+Wqnqntoi*5%^Bl?ze%U zyhaHG-&HgN6U^$-g@JDyq1RCjxlzwGF<NFnLYCQWfG=IXz}xefY$GvmA3Xg2t%FDs z^x#@6Hq}bO$Ej%3txokZn|fVp3D8-Yvk3;+<h~-&3a<ZTkFRyN+Kg~ORT8NpUB9C$ zD3p~75}tum`iqLhMmSw&Bso-Z`+Gj~=2Drb^WO>V!QgKQU$%8=lO4evpA-40u_8nl zl&;4Y56dk{z<selT<l1(N!+RQQOj>yNB_z?vUm^p?mL}iJNob*t&=x4$gk7g(d37k zERHsH*~3pEFd&=EHb}ilhDiE1vmSFGZlgEy&Xc{xMqwkG!lEIrG;$1OBqmh^+F?}p zqXh%HRyZn6(kiaZvd%#Xt*7an5F(lWZ<tPABay<48|VmCVcIUq?^p0h9BC*;Wfp9| zeTX4M1H>poBN%Gwx%vq+o#`XB$RPH^eGm@9fVq1D6ygtpO^+^j8E8eEMdMGE`CKz~ z&x@Hgp0gNJAJ=|uzmF8!EPlpm{_I@idOtJAy~GC#7)y(HQ6@?I>;-YBfJOH{;7;)p zhy`sC(<GrHGPBHC_nS%r$`z*XXY=?CzSC9L*3P8Y`uUHHj9flOIOnCZFcpU#A6t&q zj5Q`ae7}#|CLsL(?h~J9g^ODMZ;ugvIkL~!IdO{Wez`cMcNT7=7)BvolHIA<kJ^_L z{D5lW7i=ZQ{`vZIzskhRWhsj)fnIMWHoOZ23N2a7pN&wixqs!p*d<ymI38lfJoKk3 z5~q|4(;-eeLzAw;b*F=TXu055akx;Cj=4RSNK6P)I!cDF@9@WEQ3~sfK?%9=c^0^J z<4y_0TU5UE|GN7+!2d`{#<*QgBKYW`OAZaowTcR$BxP2E!!LAc45Hf?Pzi5^4x)C3 zGDpKkyGPSd&!WGA6Gvl4qqtFe=Kn%qrSk9%vm8F!LX0GL9Vt}d)7E>2u;PnFDix6= zp^KnM;cz>4Kyt&W6TZy6jUV_X90uHHZ$z?z0vt_OzZERa*;St15aU0DFiCJ1bwdVU zUnYlRfG{}Or8s0I%+h8RDHPJxx7EGcJ7Rrr<(k_2Y#h&jZf~0z@E|Xz{B=E^#`|qk zvx#`um}~cIk-JE&VvmI~Kni5GNH2|w4&6T`lem9EF+{2adnmjUv~%=W`%>Jzs10VE zmCKg3t+8H|4Jx~N&p__9UZ264cX2V?0}D%f)Q<k9_AL&;XZ!oM*j^FlJ9{BF7o9R4 zAHnlNPd@FI@A7S9oad!97Ce~ppgu~*qzZc;=JsPTbmq7=ly2zF-LAM@IIv%Eg#Xdz zrTQjaof7G!@G%F%It_TvnRygLoE(NiIo~yi2QhvUUOSzuxObu^{z$y68*L(so@X2Z z*U6?z`^~Ks6k~c<CS97HPR4u9iX(R-nJ)CC>bT=uNu3{r*mO0+ED>#S!oye}XWx%c ze?aFY?siF@bDVMK9V<<a8dPhfd(JubaJhYcndI1z4A;Tdxp0if%=(qq$hZ$2ZyWHl z%lz-5%n8-aiSN%cuNW?af*Dbx%VqxKrAoEBZq4gpd=@N&^1mL6bGN$^ovX}ZuLIc1 zd#=U(r3Ua!?JKbN@HE$~D*a}@!w@G_LsN##HtoOR!!dM+<&S`f2hQ3qP_?q(^(}*A zscPuWx(VH&_bd)SIB0~l3pKp)I{)eA63k=*oZ$zMo98#UMtuHpt$v-52t<Q{90gn( z4z?UH0iIv^lyn2r(f~ZpbNR?gbS<fTXxjt@j-j1j28j|v@dwS(8c2*xhV2cr0cEqB zdFNtqD9}(LDd8w|n%hvM+0qB4d5r<}L`@l3?FR-1c0+%yvBOMls1NB{Lb|iXyo;w! z`6l87E3cp7jF?K2tA1s{Cfb@(dJ_}~A0uWFb29563=?O;OYrpXB#N4w(0;`%4aIdm ztGX8bi;~ojLDe3hHD)53lRC#JxL)`1M~iV`#oP*=PY#!j!>qyipL{{y=~>8nDbjN0 zU&8Bp7buFo?r9Zez~*0lRwE1^lc?v0G2w9XaEpimFQk?)<du*fVq8Z|xS|3p2hGQO zl{?1G+;#2AYSb6c1wz)}qw-t!^FbCbCzRK=I4j6@5ri$#ERvKN2;C1^^l#XuPi2+9 zjw*(KaB;?i!QrejRoM-vsk+xEQB0s1{YPH8BQ!!2rY{j74P(lw!?r6ycZ9H{aES?@ z%o=K844)$`a>G3i6Nri~5qnHlmO9MZDBm|py*srz&HC}ZK^>39iC91(`_`Y6GM9>% zDQQ5JYi<**8ib|1h+t?hf)eMFZUw?I4*n=!t`&c0O{otstZZjg`Of+zqCyIs>ncfN zL9R)&5#cS1Ba0}h!25QG^c#q3q<`FQOCGGZi_a)4R;VAyCOWSp89Y`>2LXM+7RfDw zF`yMt$%<A?LV+iGHWbaij{A`o7o1ycpZj6MJqcmWw6FV`9Y%&5golF(7#``4k})Wp z_xZbFb(e}yVXkq*XO|~9=BgxM3O)Fcn9FCXQK~{Ns2l{PP)l$$@c9-_EV@VjPw<oy zKROry{gl^^eQYe|(BpAC?PgHU5cb>OBY;1WHnxQ{5__IREK=Gtys3iQkQ#cUq&t%Q z>mfCS)UfSl*=9|(Q-ksWho09MOQb}Y=bvkIzxxSThmE^RuE$9`Yds2gO(+PDymB;5 zF#*2^dpld(ru}`B&E9~nZTC-$y3T_rf-k5GsxZ#MkeAG>0M`!qczZlke1?&&Jg@w| zNsE_A#BZr2{MO=EH<`T9pXap`qFQ`unuw6_zr;d+)X?mO6p*DYkHf=hs`|d>q|K>< zg0gZZm&#m6?51)Q1-vm1oNjij!k%mm$`c=iPmXV1^Q~Hm>wixav&PC}j2`T6Qc_Qz z_NOi!nq0c#(QDxS%}514OVXpFDIBuS3H}PxyfE0gS`b;RF*l+S&+BHkJq07u85l$3 zsTlqwJG9OeRdmHkz=L0;kDa9oDNk`K43H-VIeo4D$Z1-ZlTORDms2j7X5oXoZ-){; z+yz7C19P7l`(+)Lg>kkoky~%+-!H4HSqmF4<2zicI)${B;1@ske~{uSn<<NcQsK#b z)A(pRiy_ZAGnT0F302!GaB*gdh+v1~3$?$@QwSyzLL!tanfQNek>o|Wu5k^C_Pvuq znp2|Pk3A7cJJ_;epqy*2lpol->WR2~c)XLEqe+NYl{z$X50luy_$mtqYsG$D1oJrg zY2l4#ozq{T_X5KMZF*0?48fPQx330XhmowQDG6G5?FO_5yqz0)am=CLEA9M)PoENC z_@zzR0}bYOkSrhSP8DiOBeIwlB^F^_ATt`q4RN`+k6(2%L}u#i%dR!K<7Hz)IEW@? zwy7l{6S0pzc;N`2{cWm;2V2heB428>z?1&F@wm>Z=C9{VOkBDLFR|L(1ou?j;XVu| z(bbF_FDtxxg3S&frIUtq@f(J3uY8MIngMn-86V?88Nj+4uEhmO4Of{7YxsEr9L0iC z%G{G?w?6jG>GYd~#A(#grx*AeaZk1AhZwedmH5b#KNb;ZQOhXbcG*cJldC&Y4>`I{ zhfsu&>ZvA0_D8pt>=31$g^=v-pWGN08aQsQ<_C1DCk#%_xek`iv9Y+ja^3U_t(cby zmMMuH_wv$22`@%5dh&|N>0{HJ<K!J^!zHp&!drDW`_($Z2d|(<FO>O@RN?0@u#?sH za{wtZWT6nh`*$Aaz2LV`8*M8)>C=$#KO={k?AFVt5pSIITCa)g>m)bbmszh~yG7c- zBYLAoJ*S>!3E=gvjL<IFr~bn9$e>1HpfMPN1Qy!c<G)$L&!2~%efwjLz;0S-Rz7FU zNRf;sAE<9VTf<21`xd=HkJVfOx^XkQ4Qo}^Xn&<(7-sywLR}XS{AqEE@}wZ7Csf$7 zy}45`Yt@74&SiDWD6L+^CV*d$p@6+17Pj<IvpP^fYF1QyWsiD9SAFNWr_p9yab2Ei z)fC-97vYnJdn|GukfhKSk)q|NtA16%?F7LBq>Od10dpppNxvyf+5mexzan@&_Q|V< zY@epz4gCV9+}ivvmRDLVp+kA65%T97R+$9U1FeUBJ7;z84=v@mAt%X<X<D)dpD8JM zf}`d7orymZbir#peq;k;@{ma3g&v7B*J~)^!u^gS{(nbOk>ha$G((4*v;e-WkPxS4 zY|i7U?S_BK^z(c)k&a7}PRXWy+9RZ5HKls}P;{R4+le;ctB~_f4{gI4k*MjmnEQDo zf4rcXoMQ<BR_%RVkp@^`<I&Qroq+fw<Sc!E;xu)nn8TSibk&bce0}HgJ*V{@<QOB2 z?*Prza`X6rsmeH<bwpGFQ<WFN67Q!{vcX4oLp0gRr4EsMGH4PcR&Pagv0#ijy4x** zH?85HMjqo4jl&V};T0vSA{<T?gA{@hq{6mQMq8$FIQ1>Z&xpBfqU82hmyj8Pp0kq_ zyww!G;y-J+rpDsL3C8DFC(FZcWS}5X0KWwyX)OkKGl4-<^I|p-B~|Ep)Zcg!_LxJ| zd(^>i5~Yx615arcdNO@urxKA6ks*(Ix8%b;RJbPYf-4*rDGH7@Z3{cZn{Ov#ZQlDB zajV>B75zRZc#==CYJt$-TKb{_?HyaCJs{6W(nJ8;=16<rY3f<-XwpqGSZ!%;_)(MU zo<%uNjI!))WzDvp$bZ7DG;6P${z;Ckt0c_-ci5B2K1R7TY;B$J^2h&=%Ay_%j<=@S zjJe#c{*1i?MlR-}+%v(^PhpEiN&+FTVM$n+KX*3=D|}wW2gx@{VKJE|NDF|!0?ii3 z_Hre7U18f??(Tg@O2iGrC3xCTTI}+!p6*xYT>foQLJYdEX{XZ{-`x@Kqlh&)@44(A z2>Dx`qL6b1&G_?u2OaZ!qv3F;;|YmTk+LZ{NO-ot0TRdn?;ROcdE!BQ<ZCP(Csy1# zlzbuz)kmftTy`UT=fVNgig`jZ-=+SH6#VO%v2$u#1JSeeUI%;AnzVSv0Q331>J%tU zgS+3L|4rQnrXVSD7#D>xcyW?2x1DCQTg|SmH(L>X5%M@whuwP>4b~bRx#Zw?J&X>x z^4o1D9u1x}YP0`t;5NglsipN%L`%o~ez<4-zaYY>ia=oMMgobj$$$K>wt0DZo(J*V z8{EA&U5fA*t}lVtW8I}tHygixmqI=E>`6+wi0-wM`^3OLeq*BD^ysMv1j(6P{R%dR z*=Ei+Ahk@Mx1<mY%Md>n^f^o-y5x~O;{|0?x37as>1%<!bf{=~H4tggEddU<aSzvX zS8kHW1deYE$*)4c<BYF<ostYvp_FF!S2PK%&!r>eLCI4W5>Sd71&{q2FMNCKdut>5 z)Ex0T6}_FU1`cKGedS%BIFgORHXE0dx#LdB`05yKQFjNgl;!<Gu}MNe)k)|Zg$9GS zX|!RA`u5ApTQy-Vv+u7(*RNRmq-V-UnZ;G%<?L)e=YMa@OH(r-6c{Sd;=0Yxwd+yB zP9p0n<!St4wwg?n$&T3r&9igzH^Qb;fmWgc;AnF7K_#6#bxDC-3LA=#QSw9X*95*y zyw#!w;Om0Xdqke(F`<}drkO-b)yCpI^227|2P{`d0NqUTY>dmSl*v987ikqy@9zBX zsy|YVD&@G5@Wp}#4^|(~eQPYq0^D29sR0jlen9Po8J_werJkU`El{GAV?@SMN+T7Y z?Yr#i!>>5zje|tt%fqA7pXKcB3rB^_v@9P#(gN;+PNsj!7zgl*BR%Ln-V}RQ6%R#D z)aQx(p6Bq0ZJpDz)=1TJF(#ApL@@*K(u|8u#IGcV;*xaBpJJE#!J}HtPvm+4dR6%` z38Q6mSV2j^#T@R_wn$}JD&38m5a~Eq$N86X1^4^Y*W*_q+P>{SrB_%cNB)m4%8cU3 zkwr)^TD@{+KAU|<5}Wsva*pv#5Q?jc`IZ_E%@-Mdm#q)HZVV~rvnFtbyy;fmpRZz* zH><3PUr``DkAhUK?|RQBek{7DmG=tVs+CAa7jg@?U3s{N#VR9?&*<L@iId5I>Bns9 zrpprq?q$)@L?3_O{ld?{t^IfX8srpp<3CsYsE&|S(g2z7%5FD!wiz^X-twri{^*-J zitsk>=S;Zm3|-OlG7Nkp@jEo}+k1btpG=#0Sm(cN_$<)jv7*3Z$n9I(<p0n*?-6)| zK0`%9(&0=tf}PLX`J7zZd~Pj&W>bxk&Zza!-x(Tv^9e~@!32CApdW{qIo}dP6$Gg* z5<cp=d5~+@2S~imca<mH4Y390^177?UiU-J!igk9XD}Nn_5spBPIMG&5D5MlG@pn~ zLAW8p*%NIkz!d#6+klb>1Tdq#g<0GsoJ1Is>ho$&3R)>`uqO)a3G7?VeYaq@oNj(t zsSI}E^gOwP=Wny>y6`{s!2#157@0AumG2uU&AJIBo$Kj22o<h|l%w(>{(TL+HrR9? z6Xfb}NVx}?I{E%FNrNBD#kt?8UeN(pV(+2HS=QvTv)HC*(@jClVgutT{xJoE5PlqU zxF&@2fgnB&JNr=dEG#~C$?dn(7I6-fze+tH4!@lXdaUI?eY}rmc<!3BYcas~$LsAX z&nA%Uz2yu2-!1?FlUJ{cX0k;L|6@6$mi5#OwAx_h5I9aB!#xD6uW^=#NWtd)c0QxG zq8av#*eWf54cjr;1ZB_k{HUPj1@_mP4+BXK!UCv}QvGKnyr8%oK_*lNqdcU9>7`;5 zWi4}Ubpc)1Ur8E2J8FWOmbrI~)sC4Oi;6-W{QlDNKMk@QAN#;sSHJyI9`To`P>z;{ zhz?r93i&2VDQZO(`+eZa!y@>fz_d0onWzK32sNvx8H)`<-s7*-zLt<wA}*%|{hU5? zA+nuw2egs?_q;CqDfYQdxE94#fRWbELCihp?5*<%l`M>KIwbr_a2yhPg<9laS}YNQ zPFh_kkTS0BF)I>0a8@dYj`aM(rnzkMP9n~JZ+Z34Q^?x`()53*MbisV!K%@^<K~rL zKOJ7y(-~imP*Cr(l3g=sawthebDIjj3vdD*^5Gw=0v1Wy_|}3=v?SIP`#2D^YIY}= zv4p}(>p>|v&!jW=yHF|PhZdW*2>qZ79*443-IQFXF(@XBzE0n%+_TTpFMrcq$|z_i z@cl8!gkJf&WjZTn*?yx_$zy{le4!ZjlTa^?M*jR#+8J$4D}UP;6_%hWmp_D5msmnP zlEW>9h(w(AHM)=JX2Vw*gmDgh$uMf-8D}N#i2C8^X*=iW_nlWcG=^w`?H#YLXKZe5 z!J!_*wc6C-r{x-0XX*!WJrHV_+>j8z0%0zlszwsrHh|4!WTA(W+f+=gxE97zA6Kt! zfy~Kr@2*Q=#uTw24`Y^g>~rg|vPk7=JB8@!KBwq++)J_%OW-s>YK~Azin6Kp_(nLg z_W63O)D%&@!Y+glM-a2u--$jNW<C(R?CJbEg^Nzu{5wBj!x!(zRDJi(F_VGCThF#Q zaNP{na1+ETQC!<so59CXS-F(ikzdy+>ya9tE=`{-1*-U(BI=OJ*n6zYztK4N;1sx` z*xNgl|1|LU=Q5~$`u=;CCF?fC`_aVi;^MEt*Q<@zDHIYRdnp||sDFv3z<f!Q1D)%? z-EsD&D+Ru1He+dVCPvMc@y&<#-`zi6$=mrPjmAnr>b#Ta#{@|Fe_r;q|K~w{y+d;y zm~Pl0?wC3&Z}C*{_;9y(_6c_cBESWws&+vaTSerhn^c2rhpwObsCP8~H5?~>T&PH3 zGz$N8AAY^Koz3>UtT@bve|+g~^7ip*lAT}-e7|2c@`CBUzrRO0$zwGe_1V)1?hy)H zH=MwEKbv@wu5;Zlu4Mj25;@|_)s%UNG7*S7H<rXWMDsfLXVYqvOV})jxC6ERR}Esd zfk+#OvYH`ApU>}I^z|+16;@LOC5{SslGOF8IGN<LCaF~~CiFO|$su5asK4!927ZwF z0C!5itGf%x)ciF>reNlQbh-3cc&ligmD?rj*g(tyA<0u<UMP0drr+u>pi-U7GGPBH za<@UrT~L{*Uvo4E{=*vNjqfH9YhUy_{&7zv91AHjakd!DnU)MWexwNqQr#@I^&!tW zJIbHEweIUDQj%9|5#dz5mx59Yur6@j^t=DoD;cPXs7|6m0V2F0RQfR&VX*Q=99B?W zy%6bw7d7yrLgek(NY^9-{(Ft`vKa-g8KEHP-EufS1Yzg8D(4P)5onBYbr~_Kj9Lyg zYCSTskAa1?st5y-@^N(5&pX;QI5Y(uh5VfRt3$s`hY;yqv}(0$3j+RCRdZ{z&(f!y zs|%Jz!~^%t+^+gx{{u=(1wEl^;$6BqFrmj9C`1Dl5uMfV2K4~Bb)D(z3CPGLy+dkk zxgu7Q9P!QzD0zRHirx)X$uudt64#v{ZKgPvbYzNJ7mTd)=Ya{9V4V2Fg3(&KLVOv1 zaN|Whv$z%aEXKbKp>OF6Kj_(Dme{i)T@qp(&v2}i``a&Z;^)(p%RX;x#okC>Dw(z$ zi-~~_#@_vW3G#!*FSqJ)=;ZST&RU9h$9hNfzTic6I=V=AvUkGee;F>_0&o0$e1F<D z9h=YVy0G(BqanL7zbhppV+C+X<i{&pu6YXG$oU;N!v2A)q!~hbK)8!fwQT@R3(E&+ z>31z$J}=jUjk15=!_TQ#xGqObcD$ET)v+21;zGB`%<_PdtLOrYhkoguLN7hQxhcR< zfx8GeK_(J!XuLW!Ka^GxxUiC~nLSo;)o5G{D6%^T2Awj&svK#vNV?I)*{NeFm+eOX z4jwP|df&uVYhCSZfx(=yv&?ljat4R<p_@pr(}c$|#CbnCy>`qV18?ZP+5FJS^s4}q znb?*60<;UL5Oe9FYU;|A2<`dSb&Hi%&BxVXRo|RC6^~__ct*}S&LpmzFqi!mhC4Hp zjY?@Od@X!_$8<FKJC#=rgqLrLFW?9S=kTMPcq`xY!n4ZnXAVpjv@h%q7VfUL)i9*^ zYA>N4DK9^)65`kDtcbZ!)1!dq=h7tEBLHwFC;0obCT7oqiseFI8kDse8b*{S)m=1` zE{%s9a*2PfS*&5zvWSWby?*(9rj#g2EoR;63q8h<8}b7p-ot1nzOTMEf!=nVfoFx2 zzaZZ20^E;8Ai3LdbHL5#N)Jm~0`hnYf*7u?FLFJH`4h|%g(l%Q355ZCbNuwOyt?h5 zXoAOCEp>FLZ$2o3<7;d0lyx~z24p?;Ak@nY8edi8JMru3<Htb4<&GlJ(aEq{DPsAH ze!_slV%dz5BX_{Dqh5<`hh;cH7rNq^jL*&j^?X2;QHppS?#vgwG&79_Kc4gZt{q6? z#^+xZ?S&N`E#GBrTb)}9-Affbt{_k7H@aLXwktPe2=3(3#octT_}@U+dcFE|5)z#^ z)SYhO1lwM;1+5sq7e!`L3=^IF;xDRRDBHb1@%%<y5&7xVmG+)vqm%IPB2Z)W)F{vm z7v%aLHc<RdOEXyn2wH_-iiKTCdk1gje*Zot9Y87!0bzbQv9-W$Fd2feI=q_~LtPhq z+%iM1`S|7GzY_)98F0h;%g6j5C9zzmRLI-wp41)sZt)3mr`DYB?He8Sf5tg=%<B~w zry9exATK4v;14gU^1Z6h%?ckhCi%pX&#hr<!cEeA2~Hjq6R_D=Bho~Ag!IrD;?vi) z_WjG)h4hO>bvhtS>zajZ6t>ZyV04mAW!sc~#n35EtL{rwSSBxsM6+jgH!u<T@qTS( zhIwu6ynf>}H46UT@FMFul{#_g2TrZWCw1-d+Jjwh>)f#|hV_>{0tiGbuYg{8WZ{IM zVvm72kKwv)N)1kK;9%as%<rXWq&pjeT@f>Bu99YSzOcG%syiTBX?1JA*tw}9I_GnY zSKBnsmyt@ESVzlv`RxnSU;Cx)CO@Y!DWXU`>&q+V(NSKMjI^<~a;Oh(ti~ow(cIY6 zc<dT0yQ%bASW1HC8Ra9vu|Q~)c(SrJ9&Rx%2OQaax~umj#hpZ9^B~ociMlAO4tOw$ zyrr)9h-tIcuN{k@-~RQMS$iyG$Qu*jS**_ERyBnW_efG(U@FLBvrle#P^?YH7ed$( z@;;5`NR&kggTwM2_iCT*n$3WY`3^1En^j-o#2w%&P+@nymJwQ{Jll_ns<&JD)^^ol z_2*>8>SFm=GFV^2o@TS7d3(j<1qq~-&ZyhBQ#M;56&TfWRK%;_`X&08X&YL?NMYJZ zlzi29e<xlfVz|vYDUh!^1R^9|xT*xmAA4iDb*_nud+XCUWZW~u?%Dl<LALcsb~ijh zEo?40rZki_il;Q?aJq3%qj|<C%Ql#_2<#u%jD{oI$Ri^cVN)>^yQ9dH?i!|n%p3X_ zE0uv(L$N^*(P;(#+nKOYaT(Pfr{PWfh-w_6#5~{*x#((!7Y1TFSrH!>Oo!*KahYV$ z^E>ZZSrs;YZF6Y6sP8tln)Ot1ggX+$k3dDIlN_z7wi>U}-E<(rzJ`bT1NVp{r;UFr z0zbMgPLcmCL%@V#8t3~}Wt@hih)zB7W`!Cy#*C%Vg=bTh!-68&wvMPdzz=m}Kn&If zG7=Jv6Y3|QKrR_bV?CRCuEm1DvGseL77I*Fc%e@iCH+7foEUN3z!SUVu~9(vg|~(9 zZShZEz<n3WMMT-(>+y}uz8gQT;*OYT;B>icb8YuC$~lGn2dlvQoY4IbBHo6?XBFt7 zxUr9-12}S4y)MT*M%@Ik+yWA=lc{&<NmiS22V>U*Ho>%@3{Q=s-~Ds>#r(Nn^yPy1 zE?N)pNMY`~n&$}Lpy9VSQTS36(O#$u`Hol)l2qJcmRVejG&zc2m$eof@|)M+=Qgd4 zMm?Q;cMR7TOd6vK8sfczLVQO5U|pj&Ge(NbKi+>{Bb0>R((WG~H<^k30avd_G%YOP z!XDkDv}XCirn=1Z?z1`tr2DtW-78GAT3i-~tset<t1bmPnIR!r0kk3J&<sZ<HKDB- z)~WO0#L4udy2-l1u;V-=l&$!Ig8y0Awns!;_;?Px{qM2GXf{fv%t-T^NO><+5qQ&; z{bf>(K3|vQW<b@Neybzxkqv3Q5Uqaj)xc-!&8G5om_$wpGjS%!+aysKXYJ%>y95C; zS4P@Wl1quyEj`zsqE~0qVb1&Ea6<95S@_j0htsZ%{Y-<7*$3&B7Er>XwY}3>B=UOz z!h*8;$R@ED9!+VOV?Z~UdA!tYe29!3K62g*iTI+W;QcwM<qI|6bpn#k7dB@Hv3R-j zm3ZzQXQTRi&-^AKaBb^!7L4aU&|M>iOC|=Js<a3^M{6rW32hA<oGD($kUYo)y6GhE zhDZ8lPtDCM!cT6iDpEkE6m41ffldfXE=tOJ$0U`U2{&RtUPWfEDRC|*_P7wDa+VI0 zN{PgtsR;;&iXEX;#DEZx&jE7=^DoiM<$U(jAiB$vHfw3PYNqpA#qUp)=%0@?vqQ5) z3IVsngLn0T_#xB?4a|_DQc0(j-zI4(C5hrrfCy)L=BrHvsNqEAtSSh!i*+i8Cn+M- z`2?jz=_X(}&7#+2Liv0BPv10L0GH^8R8gZl&HGDr(n4>|p{u)D0}-`VOLx&gO-%>N zx_&>u$Bd~6$;c1E#A$;vLx^|il#$9!Yny4haU+W}(l@!3&M3h7LHHE?0<75y7M+Sa z^&-x7WwDS6(y@W;&~)(q)wh+8iCrB6-V7Xt0!!B5pm6z($sfaVeW3h8(4QP|FM7A3 zgZKO|gs8;#;-b!ctC)&m(?3L_N^UE}&pW%Dy+rkES|2AL4eACIJ`F=$@;!9p&wU@Y zeU17?+<YP34$w>ff6I5<@k8R~siMBfWLYPG2sg_5@(sm;TL6s+2b#20Us#zvjL`S2 zTVj1=szy9{1(X#-+OQWO=lNDqEsj^z!NB9>H<xPCDso@QN!k4@@@?@FP=0uHj*q*% z1-TsEU`bIs0<HK{zl~jjc`Y56tdZ!HvY;=@C~j32SvJGfe#HvJ;SPs``m>@P%p0c` z=SRC^z%tM}HupM$*&oP@f1SZw%PA!(k@B;+(v~1>w!C21{4wZNcwts3M?amk^tZXS zzCxP(7EQ&ii+l3xL$~euoMVG0p-nE6+AQJ8K`v7?Z}E5>%KYzj*`MfOL5P6c`JB>7 zIY9%Be9vKNVk1cs^;u08cjFbn-)6qTA+lI%4YhjA@Aa`M_*4iM$wEt83WZlPY;|-e z5R)fRu}G@5pMAV8(a+k(_UfxGh1A7DCr(+XC??1z{;3seY~o-MwgNCMc@F4KZ&@1k zrAi=@TwF-}Lnl_Nxh%yKi!b%xAbAZUD<LCHp$$H41*M%;GACUqu^PN;+?`l-pi&r3 z=65Hodn^=X=oL~1F8%O1ed0VaVT)eUHwmDiEr`=#fpatq(e-c0Fvx7iVNQf{;z!(1 z&&=51lafU#+B&P~`zF!OINMQ~!08;fnx~Uwysjk~<0{o6%rr}kL|5RB#3i1kB7$H2 zvA^%u8pI5q*CNbapN78H;5@aa+_2K!BIIwywH>X3mPR1?M4Nnjsg}OO?eDpAscUnm z9Me>*md>^b8+w?Ng32TewR7aRWTeIhm9iIQz9y9&vsNCi$~WFSmuwP^rAD?<zdD4x z+7*#IrA62%Ty9ECV}B`z5ntj`0lY<PNl_lcNbj)*rWKaov3D_XG?RqV4W6GywSPW) zsxei}EPJ@iE~84~FudmMm6p9AR>^cn?$ApX`99lPPHXJq4@7<LN!*y9<u2e~l7(Io zfwM&iX=>`BfoidH43EP)bC@RW2m$UP&-uo6M=@zhE^#ae(AyRk?(<bq{5Axu?MdLw zR_P0bbYDh(=ao*wKdrA`j_qARZ`EywD_ynf{OfEy<Qi1f7dy-!8QY$}GqsImJ&mW- z9;TV!jR-8a$E|z{Y<U{7$DJiUwqi?vyE4eVRb^>m5oQd^(^zo;1<6kWI6pX;59Y-y z!|10AOjd&V05_O?-Z!vVz4yuQdVI$$9O33C)kR_C1P$t}LwS6&J!)Bdw7zvzai8g$ zMTu{W#x<C+tobLKq3&a`{jp3M0`X^bW-t=GNzGZR0307FdfQ>QIU%d<-@XpO(I9%w z8s{s9kQ>Fv(<cJX+|!XPjrP;6DvfG;LEk$ml7OYayJ8YvfKjJ}ux)a^-cqYs_xT-T zpd~trtCpcp>BV~USgCl&`%8R+QHo3O6ZLla`I6)tO55kG$_dS}!sO2+5I>ad;?%`T z750Cs?&K7JhRE{rIv8i1HMDe=8hfpVZiEYnb3G!)UsF`<912Y6wdz~9b1#KlmO6cv zfGreBw}T|#8lZyOXq&M&TDi9^tLrxa72GlH-G<(nV^h|nDe0cuzXKsHYu7ymUTKiV z(2!_JX(3{>W+UuY)@RyxZEAnw7zb!09*jf=YgaA}g!jvb4aJiQ44Z%>=`~ges@o?N zYT<|*!dP6W!t0TUcWHq;!#0^L-^Vaoe2xiU&q&_+{r0JaTZT5<OjZ1s6g@FQk>xyf zB#w=P%j6x}Y4ul?Q7IVh`duu<Fu!U&w@nJ@t2~WWtV&}h5dxJ~#-w`^Zg8;3aIsdR z5Z9v=!pJ7cqBE|^qbh%WB32c384X6GV!qLQ>O&$BY_UaDL0W`mU?S!d{@$0(hvvS2 zU*zT^_xEe=QTGM=Z*@1z))lnHoW>@d=h`l~YU^e~Y8vF1AP1l%xkI_#S7v$l8>IXC zQ3ig*bVyzY-{L~ZB$U8QrBzTU`Hn8ahbQU^;GC(htf_}lnQ^YX7k?%)S<f*aq2e)# ziqOAa$I{ogRXcTU>srmWBDv$3;Uyj<Bd5|^GRp^LtdV@~u$(@n+{R_&-!ao$nMLby zGEht)U=&vBp(jzw&+R8Txd-K`FBS@RQAxWYH;}X$LxVvwDR6#T4qMi%J3jTC%!8Ba zM}q(aWlh5;S(D*~!i0u6LBRm7$sa_iQvCV9OhzMugLc8|SH%#8ugV?xCS9XG)|lwz z2*nll#{XWFC&xoML9B5|LPMv%=Ss`#G@>m6NUnDd$=xt+EBa<$=uPzr^9o%?zMq?8 zUQh#8J26xtI(&z>%#wm*yAQpV&Qu949F24|Qap{D48ywfM<H?{7VY>Cs-40@ED(B{ z_;eq6OL9X00^C=_TN<b@*-|PTnqiFq>?#T|8cejvlw2)o9)Dzp2<pKt3;K)69LIJ% z`ju;jH2Ni-Ik&fQ@2dVKa>V(J@YWeU$M&~lZu>7L<tP{1X4`qxwXs|@efpjiutnd5 zFj%&|TN!@%Qutx{ot{elS$p4Jk>G%2ZNkvj(<@(3S=QQA2);ya#tF^H%+sg|FEg>u zkzU?RFL-U@RLpTu61+oHjr>!Bs<f#*XM+P)TDEhvZS+CRB-5w;3v>gL(S%F5@+{bk z!Li?i5(P9nCpg?9U^8{tEg8E9H4QiI45-;W+q!m%{hwHKTK(f^jCcyvDFN42q&fYb ztTVSb4E^NKX+5B#QPNSER`eC@8NCx#;{>^Wl?qAVqv?{z?q?*kmc$HrL0_MdmTY<! z0JC|^^cNEh@t~2LmT5ZZ=j*%OW4hH!yVNI|dS*!b?Z5y1|8rRVWQLFAfj6}q!yl8y z3jgY!v?GL9djTACn+ga%F$4Lk%KiBQdS)kxC0c04^dl|3Se-_Nb+9Xbov@`li!O=n zl8)jFpLzee>w;?6yG=-xkRsmtt-B3ErK^XXm$3=aFDQPUs8_+5uR6fd34|t8EmQrE zd82o&?)}6c`s2+w%&i`FE1O^+#N?vXw)*Ng<=f3a`X6X)D26vDUn!pv{iDHR(WHn` z(B>3TlQ}{l5IXEU99iaA@;5Vpq683YTu%%j=OR*x7P-Z{h#)Q<1luI#$9i|n7ZN4P zUXqIb6ln>y9_PxEA|l^J2WE&&S7k0n8_o{|YbUuu>?N8@U)BQLDdEHl!aODVdm&sE zLA`3~kUk$#z)q;%BX2{9Jm4Ugu{;n!*nsEE2C<eaOKmScJCmjrp-6$WR<U(U2y~YE z>?BZ|g`^9SJhnhWRxYLq5yPc~L(=T3mQm8ems~0BjlKcYE+M~3K;f54c$FxIBx5A2 zE_os8=m+4JCdSRHi8SRG)4<;1%#7LnMIo3>vaIVt{*DU3P?hjNCe<PCNxJPGT`wdq z^h@i$GSdmByMuJSra^C1UO<T>tp94T3oxq}S&O2J_jpklMVh208T8|f4-rQWcIaf0 z7jju-Uo5Z~74T$6p<#f?wX&v2FGRrwhll8~E@dgb3|80m#lH{i2lrlFT{anP8Z~_3 z@yg|CST^)Nq4s>O|DfN1`hhU719VrCw{6uG6`*z=uaHzq4o-l8qcWmPDcN(Qg@Ll> zologoq@N(*f-rEGz*80q|CgBBJ(4_e^v&>uNW?4DzP4lh--KG(Er%r&_|GrGN#H4X zUhifV1F*AbfCcliz_{<j{D$ih4W^!eq@%`VUcQ^MMmGyk+B_sg=2(@wnN}*t3$g$n zo>22>7TW*Tn95q%D0<#nUA5x({NqlVX>K0Txbi}Zr%&Qg=dkF4E^$D;`+-8da_6Rz zSKIq+spt1bbW(o22gPDK#yal<4_nY2{**XR3`4{hUILkOgj`@2h{z&e97PMJPPt?l z^VT>UDY;XDXs)bA@~D6~2k<fA&9GoEo>0<(9$i%uM3r&hqysr5Kh#wcT8M(Pru&>R zh>*FX032qxeQ71k%7-v%(XvDsg8&Ihj%C@${zFDn{g5dbGbZzUwXzM5_Fc<!$-1Js z^Am()V;VbZL;oede5&QIcEgeUj;$|vc0f1QA7Dc=aIxa|m4sP(WI?=JT&I$(I2B$W z<vMbh24%LnEI&44@OG(aUmTx`X}3%{omd3YttdL#P!*w>_JQz7XVTbO`QX3$>MDsV z>L`?BT2dEaG0dDw#5t=-e|F46A@d*^<(Po@wu~OIy2zy)?17ZWaKIR9qLRUDl#&d+ zpkfMGSxlr_D37eL`ZS+!6RYjQuSL|UY*6u?Mg{M4ynHh=C={C~yVu=4HN!17zo@#e zz8IYgT38e>g}1RUuLgk3T0%S$yykIXEGF<L%N-dU#lMsaVXY{xbW0N|c}NDhL_aLz zxLhv3=mT8pO!H<Enj};6(<I=iDei)6j;47;%(;TS`2Ys3<nY${fA@`IdndjKN{qU& z;l|J)(;Y=<7cBC)97W5cfg2HWj0XDY=uiWXS6PDni+xcS(_G+Ezs0%xL$5@$oQvVk z=U;{z3KZO~|H`t^c02QSk~~Zramg0xGqE4~$M91#UJ4IZ{Im~zBD?NuW-&%VY&}8G z+E=Axr&=R8#kFJ2_%o9gb^ZXExE%;SzVv;eBH&%M$tmz2&R#g>=9GsfG5*IUdA8uT zva)D3ef~2lJFh4NWP(eDCS5E-vKmrH(j)BMYFBG1KRGUMS4DVu$f7;b_|?o?*^)T% zI#9g@8;_=yqh)PxkJo*QRuwa8CEe^S73~ceGXG|m7gEL(GJ=~4ee9KWj`^H+gqF=V zOH0rAqI~sH(DMjrukQRSuo{2WOIVs2<_be50v8gF#>;D(8Bc5G+;8DmwSD25KE=7b z&7ME^^ZlPj`u1fN(`JMko>eF-ia9)`NHE~&?heyv_NLeC;NSaecX9BI`@R1G8@oq> z`>x<)c))`pe{SnaPy~{%Z#hY6pv#63*V69|u<yBGrU(gx(g&RTk}sLiH%W@9#Fou> zNZ9X#?4C0ot0sSF%1L%6YHS?y%1~PpVz|*Ot|0F$aBCQJThQu1RIUCjZEw$HYn7`U zUg8)PKjzJSSm!OVrZ-zJkS~7Od*Ws>o)db_Wlu?|Q<=ND`Wg6H2kK3)7F_!Eb4d$@ z`6Q+s{776M;KYAh<qX?hjB&>rd}xr{9C^&u^_C#q*1jFcFWMihkjtkC_m;{fs#ujB zX=w-D@|k3UoF-EqU^thkViCmqfv7_zWsI*?Yv3g3y}une_F9vpd?Xk)<lW4z`*V;= zQ**2b0AeD+XYRoR3^m2_dR|$*Lln8;e~rW;Aa%~i*&`z9&GhX?{mSV$5`L3`XL&n` zc;WQEpQG)b!kvp_2RF6a9qw(|tD)fFc@Xt6ym)oiEaRH|c;`-GkJL3U7|(cHQw2PR zmRpACm-3MgTNA^{g7N|OGg#1=t&g1l34&gdzcpnJK4q+gGL~wHhlnj8`$fRl7~Z*k z8>6%VYr@ma;wM36!Nn)=iy>1^wjmTN6)_LYvf9KmJKl-Sd?;5>ZaN4pXK%c!XeS&v z4Ik_fhplHbqc4{ROzXSId$_!ThstP4Z<}pa*}w~%sEnk2nz#BOJl8uC9bPM}L(oLu zPx>7O!9Tjk-1pCm$z7-{NpoXMT6jQt5K3XNdrRbF$90O4YjN4k08sKppg3#(sx|oR zNTBOS)u^e)Je+Q&6S`RiI}-LAy(AaBF^NR<57VEPdhyA@X;>q00%W+{iO*j`mNaph zTqMZ}FO>SnYdg+-t^L2pd*nA<CQyW{%MYq+>L4F5g^+5CIMV7gRx`rabe9(f;KFbZ z;sScwnFF7lh)4;ge#DQ1HAQK6UU#G)I;BN=F-a{BwLh+QUx?+&i4pa`(AKtOlu|t` z2s;!Z>Bvz)4Qe0s&ON;nk`XpmSu(+SS=LKKFNmX*?9Bw{nQc=?|=5^VHMDUzI{ z>783^2s$OFb25{18&O%LZ_-2(m%<6yWQH-?I@~P>bzN=Fqf^0y{NN;FwEf0#{nAVd z5N?eOY0*bVVv)7herL{(A>gVMFd>uibR@ahV&5YI6XM>X1(=5g(p2I_+arv(B;1%g zqpZ#-zA<YOwqg-*Zw?}AQ5chZ&qtk&&5tKxX)dmgl;Yk=Cw-QvE4vOHpF6+<UY11a zJqiRaNBgqg&N?;a)R%Qk94JI-2023|QltU+2W+yz+HmsldOpvRHF}$b?At#VE?vWI zQRa-AK+n7V?DPzxPqQwgGj~sz`7~s&e{kLri9e>%vtA*<%Hvhs#m~dp>f>43Ubp;z z2IIJ#1whyGEnyj7%K?}M%Tc;RqlE#OA=3F!2uhtnAAzqoi9z-SFH7b6D78?rK-y%1 zI32jDuMtBhClvuVaYpXDb}^QP9b}REpq?x{*5l64yRROoebDvPJB8Qh&l;<j;+VyP z-$m=HE^VdCzw@oI{}6uvj}rq3y#vO)el`#;=y<ZlYn?<h2B{n6;Vw-%w`Kg>n3Ov= z*Ed&B+?_Fn;*W&z$9E3KbiH2r48}!k<C0SBPLOIoezwJ<p|s-%c7&WmSyIFlE1~hw zg!%gb<y4p=y1Vz&%pN~!kV`yOP#m+CY~60FjF6iv>F&uB6^bmBr>iDh14F{U#ExEe z%PX>toyMUHl;J9)wk^lr^P!ckwsD_I*?fam>kdW(j}9Wibqk3jPQq`VBA)P{3!1ea z<pelPB1IGmit?BpFSMahc!5!Z+BTPD2AT?}(Z4O#P$ERpuz6vJUkT9wfnP_dYe|y4 z?ajAB9FgzcZXCb*5b&XF7q>u(IE?rI1Ky2KBk8HI{*`h?E5vUdpGWFUAR{FGx)6hj zrqVb$sG))DO23h}dWj~YhRY(PWMXsp#GryKCjJM~w-9j0B+i)i=gfTp(#l#7*C04K zTM-8C%Ub|84qQUFzN(JpP><l<h>b`tgX@lHb^jN=znS1ciKKm~PPiL+w_ZR92lmvO zc@TB-jjz4CGn&D-#${5a3<@d9Ym9u!x)g4~>lnxjw(;ha=by#+h~v?qTGNf*hZMvg zF!j<PDsyX65tXLKyDt!TaKzS?Mc<|r?uxo-MC<2G)dC>bJnq;7JLf4ZY8p#J+~E6H z*}4;eIu%Cv{Y)}&et2N<X0!2<;^4B_Uw}QSlJKIPPhN98l^OyP21=tAw+C|P=p+tz zPeTBtA|5S`bbIEoAHV8r16S$AAZQt1&#}JxKG!$;B`{LpK8hhWfed+`KA2?&5DyGR zFhhdRT^cVO^4|ss@4BZtB3L7dAhI}lNB0WH{9{VOV?K_wrLU=L98|6(&|BB;V85Qv zmH9=(UY;9h#S{UJhH+uq-JW^<rpC1(c(~X3D-_gPV;Euvu)(A#MKS<LUqT;^vSXVi zmk{DRcMdFs0mB6pC}UV)2wI%%okJUbf$A4s&w^9Kf-OZ1g3gb0K0mrmdQwciPo}W; zHnj_D$=$WQjP-9kD1c8H;Ktnv=~2`?tAW{Sz>^z~{SumBQ@FsRiC&v)-g51>`L@`$ zrkwad(wQ70_++f4xsqx0HK2jy&2$o`t8k7c5{+k1{h);G%?$S-Sd@@Y_2j%e8jqce z&v^s*aaI7l#LGV+J2T7E0QhD^PS%(`qJ#5^+mAPNt49H3agA_vV%$4FPg22D@FKbb zKc%Q0KquevkYb_wwbF5PEYAH`c<ONWqU##V+IE;~eoWq*!HMYR9}I&V^mlFSsOiiQ z%)%tjxpjtO6;SNvT%2$zU<%FeT5yGna6)**pXArAAK^!F7Fet3<`0U(@ClpD#+2BP z{j|+QSNgpfzt&dWb>RUPo1i+u(+vvosJdRiU5+b}q^=W2D=HIcGF1yCbf~+f8F};? z6D?yo?FJ=pI+;!F$4dRcGc?xH=(11~(<QB(Er62GljQ_a=Sm7Uk#?j0-(NFvR_o+1 z*e`1nsoPxhs}3^9C~!PvuW>cWt!$uXZSq+3@D+i0=;LD!yA4V^$xuF2lRwGkj@XTX zIP5`|EHC2^Ch}hcKuA>>%lcz{!TAacwg`A~r-w8bIc@K1kX(Y_rpnxy{QYLSZ69Z4 zjy`*QTF_KfOUfA!d$5aVRYr|HZP5hTW=W~Ua~LVAMwc4y-E$iZ$%7?hVA$I|6K0Nx zD0{x|Xqkz#G13k33+K1)q~_s<0S$}G>0&g^kXUVAy)Hc^sWcQAaTz$YQ-qjDdCHX| z$>&vJ5OqdJX%ckDUbX2L9Jnwwbr3t(QevTAG(d>B&M{DYs=cLMn!}r-{kN>{+q@^( zjAV4*KHV%ec?KsJQZc0HRtn$sHq9k??jz(Ej976)E>i{i(xTZAwd&iSag5GaR-B=z zt0xQz1mAr4*8}@sqTkn1t_^zssICCORU&$)ip99_F|f*K0KQ2D7YUD~-qjwG)~t?r z&jr-GBrAWB9P=7ZK`!&W@>3<G+R1D4dg={_ZvO;1lOk)nY1tj876o)CZ=AzQW+He6 z)|NqKi-x!p{^A4i1`7t3I$PVx8qD7{a4%Ojm#Oi=I}%Oz$tZd)slYVQ<Y5c8Y=X7| zt)$#rc{D@69A=&^wqV811RJGGB+@k{Tkcx(M`3FLPYjt%hk?(sWH}^ef4zsCZ-B6D z{1Zt$WYCv-3MtBnH{s8S_QhJ`5HIwzU0&Zq&yAkl{okXh+S1YpIC1KW80vgyJ_VAK z$0vrlH4zKwPpMNo9dsb#(<AK7hkZnA{<R{H(@&@L$B&ljTLi?w&oTA`3wjGwB(YPH zti1oGMgfiT*YxlR-6fb3L^iF9Sw#B{j_H>g@PSkNd?XVR+f)Wtt#<1kVJcPYiC5s4 zPjTm8S8bcGjSW*n(c+CfjM+a=YFK|y8(CI+`<UVZ)PkX=cpCw;+23)fzJlQxn+Eg4 zN;&7oI@O*F%zN~t;YcFJ5^r6x`f1825O59FqpzoX)G*d00ktZGaMwA<JKoSB+(IAL z{q^H(*I8PQqTmBChAzS_X$XcRsS-~;oJWQONw=`5Q2vp2nH1pZz=NfNMXqUHy`mu+ z3U^hpRgYQsTPqmcj!oOH=HddKF#zYrg0H?vcdTv<ukcR6z&c`o;tPMnic6)FITfp` z8DWv`R!cZ{@!T|ACUTVTCeJL3W-bafOg>0I;QlLy82TgwmkKgsa?~=8Ok3`6R;Y{2 zAmx}`Q8j~vNk2lvr~)7>_7Z`e2U#sg%dgUkFf7trp*G!kZ$7*shuXZj*|U77@I<k2 z%9xiPo#PW}oM%L2VUSb<WrriKX0p5mN=vbZsInbCc`mucalFC3-SNjau&~1)jNXWD z=nvlhhRB+FC55_X9tFV;rcEFcn;~UqEU=%VeggbOL^hbRSX<Pnkv#J0FXT17`+Bcu zs8Zq|aW`dzk1@ECNGvw`hohn<9XKiUFhev$AxU5G(MDO3;};A=I!%eoE9z@RuzW<w zGezsujh3w)v|Ip)j<llYC50R)sdp0iaTlt8c}l-dpi;r8j*?H8yN(uj8xGIQpkaTZ zZ`+P1J!71*^l59bYuG+)XKvew9bxIDQ57dSPQ#Q%2&v39V7tt+WKfW{SML*L_TBc$ zi0;i^eWCuQ{ruIZ!p{+?0)-)eE&xG+)yx9JGO58G>fxSnQ~I7^6+~u(9lH@*YyFN< z-FxDS%wy$V^sH2z>zo38r_|_3leS4y^w<ptF)f2h19GM}`hk>~i3xEfsyF#xWSs?9 zTv3;83wO7|-CcvbhTsYA5+Jy{ySsZ4EVvW|FCchuQV=Y-yF1O-@4Yeljs6k$o^$qI zYfjNrtCX6|vhLJk2AMEXxAvc~^~Af1diZh(pSo>?;VcSeW^k?8%JoPYl&Y}ze9C^G zVE6kW$RMPobd2-LZ((*&MJt9>Cj00ZH?A4e^+HQzq73g}vHaKJyaVygyf;uLd7C=E z7DjJC%SFq@#KaPndiM(bYEa8^?rkG@325sts2EHZ;%08y-8?=Kw)1c$L%0TY^?L)m zYYp2s<3XQ?;9lKU2L9(Ab6tgb-Gy6tXS}(`{^%`mZuvC=2~KXNH(9;U>YZShpegxW z`(E<M4zSRXYx7+XL9#zv>t-rd6X7y$x6X*WeK})1=6vp0^dB|T{48;|;s!*V7k<_4 z0^hG6)!%jPv^oW?F}Lgxdl6`?o%TF&3@5R=LcMyf$gP=*!Kxpf9Pk8@m@u+j!$gQ< zA4eg#ct!W&ybS>sA8ZliwmnGAxm|HmC7!!@0qZ}dpH<<8L@v;U9G~V4@?j)_Tn8Ww zQiszfw3JeWZ?JT%;U6wPNy#;`|EN?*lzj`ivxOH!u8SFo;E{#^DV!f7OvFu}63JTT zUKp{*FN%j@Om7g5jyu{`L;TUaSv1hw6#%9&qIKLq|2>vIITT;D+@wW1n}#EMj!4{q z|Frtv@N}LZVi3a2=gWU3kzdCFh=e4T;ub6T<f;J@PlFtaZVE^cS14qRRpGu-w@p+@ zTf4>7cDXjcgKKxHDz>|jAwifQ=4e1@-=|f=alUJMOA*2{iN7tX9dDmz*~eo~$8mPe zXBq|8W_)1xEFRLrlCZ3r3=?Ecjy-Eqb{HP#{A(6ZpFURH+5{!ZT{_;qd%?NnMLZaB z*$Q5kWOGCxox6+}rfj$s;}l|yXO0)_A5pOa<}bAUZmy0#*O^&7+@1^Xf8-5>zaEG4 zd1^K|p6(G#heOVxp!wF<5TR^mKPR$g4Zh0UV2?GHTcxUv?q9|+avk1ET8c3escDay z56v=iFlalavf6P0v0j_Gr#83JqdEMERDt?mWQ_cYcl##H&HpV4r=;#^-d1^?x<Jea z;-i^_d9#ey>%CasdPd_LijLN#ZKCzf=}nSd6$Q+Z8Z4T#<^56~?Vb!bl8)3!LmpYB zhCduqKKQ-}-+@^KG;`rbtqTsH%VkjGSRfS;@l?|=Uk;3B<$9(5`{$o#%~Fb4AUT|Q z@_lYu`f-4Q6mgp!64udERp^q}CbIVC688s8MTf?MC@7;)a*b;n|LHqcHq5zj!x@3! z4p>KtadeTmu)mXH^^@N3-BVq2c0uc!o@d0NMtCz~NGYx49?^g)ETz7s`!yfVqtJ&@ zbYPoF(3v<5d?AFmWOUc0XGYuD55revmm+}iC34$_7%=Ls5WE<QfCk8&v2#%!x=u|g zAgdpKf9M_iB{-#W&ko~&xHlhU(&2qPWOR1j!$pZ2#}M<d7Axk9nE|U@0Nw~dB;1m@ z`^8~%Z>x+5@!ZR5-GtWf8=-`&nhcwmqx#+i6a=I5a2<Gv65wt)@RD59_j)Nm)%WNO zA)n&3CAUMU^)=S6rh-!mzAwwc{4%^&xAhlChkF|PvNvA(;7p{8h9YXX?djjEv1(77 z1+%>U!{&KYN~;;2N|kTWnpW0-ft`cdNwbaIsQU`(-1|`@ZIGW*YLZb?#gr-=8=|=k z0)V|4QAs#NR2)FMs!T^6o11PTGkr}Jtr+9+#n}cjzt}gT(!1=w?2Vn(r{np$FrY<z zDdV`l$GEwH*Os3>K_aExuM9N{^_%N333&ChR-AZ!d>^eu{telf3^SlcuXBXM&;e7y z(0Hypo=d)R@WRRd>B31_(c6grej6gF$5Ykv1QKK6*-<?(mV*Qaem3;~i{W|T(N>~h zkw5*$gE{@oWNz%9ru8~9XW+2DuhC!bg~uO8_0m#>T~R6k4Q(efwzsPb$eX)jai}3v zGWOnO_9L)J!M*;KQ<5gY9dCvu&mkhz`X*as05@9`N1%dsvXmDCP*+dDBsStc(x)K* z%9tW&vU&l!p%{jgMeUQ<M0mJW*ETUYlE#P{{B6a3Vi+Q@P=RoLlOM9iUw=v$yIIHL zS{HPz<`#@K7j!var#@O%4xiT&)7Jg4@MGG*xbc=J{~Pr0fy~p%4PzmLD{G1_$?js+ zEhc($YOCo3k3o-Tg4o@!_s2@O6q%d-YwVZS4To+2qTXN%YjXK1rXJBh9!thPJ|YMF zcgwaQO9nj=(zqWrh1|{dH}tLBv8>aaAnQmQTh0C<VqJ~vFfCw$*i{;(E^b)Omm`j* zrbiMHN%(QNceXhYeZA<WvJku;O6mk|<tIv;4Q?+5%b(GHZGKmQ?pg1wAOI+&6}qq? zkLx`PM!B#=@{~)T8Uw!+2hEW%6zGP7mEZUr%S7DYbQzg*g3`;Zowb)Hfsg;NJ@_@N zMBk2iJ-w$?NzLjKlD6=5jlWI+LnmwvOsk!G2(}_f*1m{Fd40|F%7o6LpdX9@p4E=m zlzc-@pv!(s9gluYlyGznF-uV2H3Oo*Ka`<(IdE_QC<gJQl1`0Em4);VxQ<>f96mN) zv#<)R<uD1qaD3!0Qf|xk!;U<A=E$JQ(I{c%Ad&Et`HfO?!QW*L2d+LFekG4!`65!B zd6R)(d-r+XpognH5%J3U`l$;!uT_t%t%w$=?ZlOpaIYx&f`WYNqvCL7@>|+|dRf+d zr}V<(-NO`W4;*S20W;(>@b&gB6ZXC9@4zzk=B*Ig`=5DEG^{U%h%SD){M=w3FPWJF zXR-@0T{=Q+kDeAqNVcxM>-QFYO+QgIX=*Z^B<VJZ_GjoAJoT1w#1>T9c;kq`mkGg} zaaXBt?=pOQE{-+HJ#)ujcL>3d7eiQFW#qfLXesUBwnLbUGU~w&y^(q>KW#>Si9HGz z&Q3^}lumdE9l9p&(I=m*aWoT(ZC@W%GiR#me(caK_!J~fR9g5jMlNy8k-WTsLbext zb3+KI|0G7pIbEt!+p#*opOe}hSvGx`Th2UMd7o|UhN+^r84dF|L7**Bsgi*#Cmzn6 zi#pb@m@BAhl1;LmngNQ&iR@4;!%dx*KBag)3q}C4Gj(M!5z9!<$C*47;1h(f^gm<M zV54c5(H4U+@j0=Z<;{Ds*H%yq7)v<RNN2s<)J$#lLvKL5n(KrS2b!{o)(2|6i5B-% zS8=fW#?cxf{eQ;IsTB&!)-@En%mHrT0DpXjTrPi9tBk%eF+|sVnwkZCbVpeF2z2>$ zQZ;#8*pfkHU$}Vg(nNQADvK}|>}u)hkoO-UcS41?2V9mb<<uu0M0)05+oNg)T@A_e zI0&PB=>9du;lk9SGDN5_=~;svcls{Up-05^UcbV9JtTkjkDE||mq6#im%h=aC$*xw zurF7-O+*8~$J|8a#9Wax$L0tWY-uk<26SWPFZ?08GzlT$Y&Bncv8}eNoC?Kpnk%BQ z@#06B>3sE4_i%nHL@Am9PPPj;(e(Z-aQk0p9aab(%til|l91xuFS%gu7$Kya%>JZa zxSQ5R3GaO*?DHzZ>1QJ<L%zDQ!QvarTHH~$Q8df(o|`=YUNUK=YfGNw$$PVW$8Z-3 zNRuocZia(Ph28bWMeGiC$&}tGuSESk`?cH>BHeAZ7!neP&yFiyh8%avwj-F9;V5en zbCG5hFL%x~`i)}*h(L1GuKE+#h`yB88EYnKXTG*Lxji~1j#pf=D&;HrtT2ugvT8b^ z$PPJyTZ)k8b?Gb}KF9`_w#KmZ*$cf98ipKt@UEh_BNecB9*f{X&&J;{#Vymq_pR(D zbDQeU?In<<yuZxqeFu;DSx&H)8w(+M7{|9hs@Ro5dBwEyCP)1aAR%z7jV1nWAMuL2 zB6vvDg*xPmO#cUj>Fo|*aNO*1;o&TKU2Ic}?w!Z{ZjQK<drzb~x2Y1&_dsq}JH3|e z>brOER|Q>*63NB=v!_?<MV$OY&I>O^_R!7R99Q4BWj=>!>kACiYL{iA_k*O>_C7G2 zdQHFT0Q1uf7OO<Y-hCHK`e&cZ$EKUfou<Sdp<-TZK6`nvZ!8L$paC`<1e`ST^RvW( z*u7-E>lkW_?=WzkNk!7H6Z)eot_IBq-(0z9IoI_#k_PC4lPwK*By?>2tSuAmx6x+{ zx+1y|gM)0&97z`+I&M@FVQ{CYI1~N~@@$=NlxpWNwJAILU=2aMv&=^fB}tk$<`^B8 zrzjh<kl!ds21P!r!d(U`1WgAyuXLFB{2o#xYryad!nck@h7b$mZ?lg+pa2po0$+<y zR&T$Pi}>Qs)MFc=x^kF)3d+*N&m})T1eeQI*C06UaJiO(=*wZ|2{`l~Aj;E1bk;$X zi;aVU9&aBU%+J%mEG#VT<kfpl;)AmKna}>U&mrE4MXk}BJ#k|SCK$4E=|-zDHce@e z!D!A|c%D41MQH&Lp(9_-ELVW8vv^o5P9jCGIRy+W-I{bvH^H-a5d*^~H#(jG;lw2o ziF+K@UmCJ6EX0}?YE5<u!y0~%F~bE4)@EOkxty>+*Y$J!^~PW(CDMqD=lHB}!1EL7 zWx9H~ZE>+g%=6i5R_yewK@2I0wzK4}kBRcif4TR_O0=EvxLZ&R|MR3=1+`Is_(|Xk zzeq%hlFQfmAJ&MqsP*PTsn=w}rY|vOastCZz{?2eYeO|PYoDMvtTXeLKfD}-e@RXc z$DK4nwj1xKsyDjdMHRa&Ggdnv&NwISH+l=IP)vsSE)03kuW5!g*mFFtBcSSJ@y!VV z4SBOaZKlc7ujgr=+YpNJbXEsA9AdzpUm|$}x_hOvoWljUP4{JolnOhM>Y8XZG(YKG zd^R8U_EH^R5CDxs@<0@30N`2Vas~MK-K@iO;!FBtK!W0Zttyo>FG?HU%p{x0o?Ldz zK?K_|4d-!`ucarxhYQ{oTN^8c;D<P8{o;Bn*Y#O7DiO4M375_Av}!ACI!@iud3`uK zohQjmnoo*`nO`}^o_`m|0ZGZI{=h#<=i`aWz(y9ye%qBs&6VM}7TW(Hh`(1Th{z&A z<uPnGCE;+uExlT*rmpK+c71#xs<L=0CZNg^UhUYv`Xg_z^L$Gyzz7=C*msa9vmfl7 zD@7?RBxF;8bp{Tx7@nzuX|mu;VMKaVu1L}&gDZs6v$AW>0j`r|&?tTx1bP>Bw^~$q zkRQ><3zG=M+muK1NP$lzpH$JaeNS>lB)<Ly2}=ghaI0IiFk^NR0`kghwY(S9#w8W* zsjWtom}}c3PZiCee<-;hm9Ktcul@tBzuGMqwT!?=a_4X#Rbbswh*;^N3#F@Cu!xx} zbokYNdo?#`{D$MMqDNV{q9%UMJ1c^H0JkJdU4HEuZ>gNJc5%K&4umIb$~%3oBuHm- z?_g88HH(+?6utXSZoNL~AZW9?*m#Y@Lvex)uuUqP&QY1YH3#)@&=J%?tAHKD$dl48 z`63jLYcHOb%bqsF{?wOBBn7|G-AdZ*7CV-n>}^@T+6nv%rA9)e1S;%st=l+BnETzH zy2zvF=E*S)qR#YPU#;y+4EhF(Gb+<fLmRt{Jl_M988Zv%q_q0`Gg(E=3PIQ8&|R^3 zH1`SbyYU!nP({HRH>s%0Z-Jht0fD#2Jl!mp-)8=HdDKe^u{N+##({m2Nt8{o*Odw8 z^H-vgSY@)EiYWr7mNox6X1Eu47qV*fZ5WLM{wCs7N#Rf_*lPKPBDVuyyS%-7Jt)0b zRSWljabt?*K)q;ypP|sj-Ce}BuxnAfC--49zx}9x4FP~<V$Hn6vJ9($1KJK53Ac8; zf7QQBxI4F7y=JubSAd_D$_yYH)~TN<$?JPeEf|HPuerYt0Mm~Dx<L+*+<<f_+h_ax ze3wW1M{-%kXE!uuge7*`zE~<$ayrqVEC%<`IKl?Ffml(uDr81FAuyADAoWR(S@&E( ztbO&((t%e=+nn4-q~BeC9?3mBOm6S1W(Geokf1Sp^xU!gSuJZ{9|QNW1Eg)G<@NCV z{tOSweK#cr+pYO9jw78J+|WMGA=_O{?>9L39CC}CU(Z1YAJc#1-r=n}!w=w_V=Twi zc^(M{;0`w+8hF^^X;`*+dV9?04(Ek>kaRcWo@(9#y2i13AHImV=kLpv{Q-t_t?puT z%iJV5cjq5{=RKxhn$XylK+BjgXh`;R3ErkDW6~U>t~GmQ=q{$A^%-s{$1w`sXLaLN zofUJ%#+4{lIV$jGauBXa5}281Wju{1wIVCS{~pVtAETAit9|GjG~xaMF$fm53xRo^ zn$M{(7U2sj)45YDY?sOP;S8%mz2z@tNprvlW79O`K3v^(8PggB_lr>JY;;;dQ)6T} z<b4E-Lx_UQUswV&O!tJfYTWMwst{~sMGY<?*e80xr-5SSVwjk43<zG{x#|cZrafDz z)Hc=5B`C54f<#`ZbJstwQP1qEClpBp;gCXR&frI#)frV57--%oAafoyilmhw?B4+_ z1Azc+RoJ1iSqYe8!(jS~V5lHfX*T;t*^dr;%zQd(Q$mX{{7kgV)IIzY8B@>;EZBA^ z=Oo{#u9Phs@?G+oW{Cy{1%@MXv>9L+A*&<qk@bc`ZP)@uTZ`}n6-s7{Mp?T$Mk0Qf zb2|hjdl5g%7@xqZDPL?7$)rXoX(7{ubosyoh*hvtRLH`wQVC15VEMj;!|13T76*=^ zK38aPe3FgHmi>P$03s_zlnokO=N|QSzUzcOb(RyUSl1G|jb<B>ov|n50m<T);9KeN z0B*la9>o$W90^)y6GQ+_x_oAJ5n{@|j1TG?6V?gS$+Q)!M!l$A@gX5SSuT*>sA9z& zHa(_zC!N3r=!bz_pvCm!Dt+(9JQbQCvoGGp`7^oV;M@La4$9#Whd*iI4zinh=2tph ziw8Zxd9AjpnQpT5KFc~uS+;s-29k<ZbYJN~Vj*nbK(r6YES;MUQKdGlW<E+Br??)r z?7FxY?c!Re?gNS~u73vBryF&V?!N6A#i@{SD7HEPeV0;$G270CIGT$vbz5#6V)@Z! zn;FTQ&_Uf;Fyo7C4v(gKA>WL&hvoz9!#nIDG&i2YQmRH}4VikEp*dFQ<7%0u>GR=N zVn)Tj^f2ZGQ1mPf6=Fv)wz)5q&n_GvhA&A7)aAnjBX~MeexO1vgc$p{0FLv?+UNiV z2qs7c3xK8k>)1j)3~w|7`4i{~zMq?YqTCI6RMKvYM;Wq=Z{!@4D-OU#(*=LNQZDJ? zBkaoDN(sZ(2~O_a1;ufZ^ks)V5N>qU1oCg(7{oW@r#@zyHoI&gwsF=65Zl=p+ScH6 zeZ_~J%_!+`>8@B0e>J3)D|dCVHDQKL?^Mq_&45W6iateoPm}+z1-#Q2)ac%uj4>W} z0yVZXzlfrjb)>VVagKq3i)-7bF`b@G&2KN)6%ycyybsH<1gxh2=+VN@w@JO8Z*+Pe zzZ@MNHq{5c9AR!}T|T-My+?dd@B4{**5d*2hiLaY`>#{}yS#~6+T?-niGfA6phrCX z^$E{maxcL({aELVmDD0qlEWZIly}7I@H|61s>VpnS5;A&wGrHMBdQ5Vm1?jA{{8tq z0)QrBzMj%Y9dTh0D8=gjbNe5$Xskxe&sJ)C$egl7a7&mZPnhBIUmsMpDS@Y73U6># zk7LJQB!|h>#B58AR$J|swGFy2e8=I|i2y?c*zZP-cj%D;<zstB39XI3M~Z{*({k<C z4b3B3**ho_Ws?QxNrM<?PwephI8^=+yxD|ZQUa54aeEeUA?LS|qG0dZ^^dsLX~n;~ zw#yxk$2~&Dqo~0|?Dgl3*)!*ZN!2PH7*#jZzV0)eTzbfyAcWr(nmK%uau%3T8C2^1 zVG4{D_^eiwGClR+P3+1e$dB<$weNC2IyD@g5+VHOZe*VQYWai!H{Z7@^#z&E+r=xj z*CG8(wg%<>H1l}i_JJQs@J;(a^{GBQV9xMyrpQ?%LYA@PDiYRm>u{jb{nkM1O{0Rt z<cfaht&taKfXa&O5`?eLEqs!>><CUcTA)^ra+q>UT4FVz0Gn-Jq6-%!Uw^uex<-n{ zrCR?WjS7&{k~DAb>5)Qb9y?*MZ2EHq-B|zYbocL$zrO)%@x5^9DbYK@(Y^b1&qjS= z#k}aXc`6ib11zy*fmG-_ZTvV97Cu}DUVh!D)oykTb2H4z1<L9Wwtid!W=eH|7O5)~ zxVw<4D{fE!IxY9UIOJ=a3&0j2b|^VHKO<Kiv($jfpiqaO6h|T939$3bJi*tdu-^;( z1zBl7PW~QI-}175zlA1ZEV9Z9D4I8DehM=7UH#MgJQi0Q%>A;j7O0s0{Bqk5wPsh| zKW?qA^X$mSe{AB}-d((o7JF?zTdpH2l2McYCcM;?Q;Ft)rp=|)50zsXh<c}`Z+A?N zTmg)<k)3g7mPa@B05ksIU;_*y)3Lg5tIu9b$^AUyZalsIZtff%zx@8kqiOOr-x2e{ z=tPDP>Ms`f{L?N&@~x?f$4j-THQ##@U~X7q<4;t-YMS)6{-hl?c{-wOaJ<p`^zZmT zvG-gky`y<ldQssDCJ(&gmMK@5v4$<Fba3m5pK&7`XZO233a@@kZ^6i|0L*S6r5|qg zw09Obo(R}JS$Rz7=WE5y?MY;ql|P_h<kEyq&hNDczbn7lWn~v_4S)+4FWuUo|JWD3 zCIvav;}BciO_F<(ocmWc&*dJ*=*LJw#*-v$r(SoNNu?#g=l%SEm=C(j2D}bMO_TvU z;{uc5&Y&y4;v2HgN0}n&VHD)wx%dh?n`I-GqLS9c^WUd6wr4~XV?ZtxW)fkzTEZF! zQUhalm?~HM4e7Mq*xjl9bCiFta&NTczXVhp`HhP>^fl3Y1}l<IovdIvOxLHpQY*cY z6OSzFK8SXj4)W08*MZ9;g|Cf`ef~Y>asK6FHujQej&LV)XuU`ja1Z=dB3tnV-BdrO zS<cgPUX}8!Vd#t9N!^`4`c`#z_kCW}DB4^6O@X-iQ%TV3F2*}E5e^xOz0`abk!62Y zU2lP|ZW+gEY<uL`{Wmt3>o%pNzfh(I$-sdvj^Z;a^KNroHq5^NxX3><9iwJqxCpwV zA-mh-uzz4Wv*QnV^d6&sK8TRJphhM4#|r1oiDJ?7Y$ee21C7OQ&ZmyCaoAZ{SsX4l zzj*$cIP<inrhL1QFxX33sBP|E^)%O=_wS1!gp1BXRl?z^(A%Tx9@M}l0=QG|yv!@l z&yWn=40$ZT0yvw*<7ZmM?m{Od)A%Uu`LlUtewQR01+HSq_Uk!tieERJNVF^@ww$%) zIR&(Vjas0Am$hfQ5`cTjVJV~rqV;^jO```$+w15p<=>s_#w??b8IImSI9u+$MaU_p z-}5lm;(itF?YvsAg;hdA>vn225O2S2IBhzu5#mcjo4EPhLO!hAoA&UTx9tx{w|N@7 zZu`8i_gjyoQItCF-6$12BiNi~9Ww=228Ytv`xs{#e1!ej%A}!}h!?U8NWoMUSzUNP zC>-d8+2t&9HUfCU94ET9%iyhs5ALb*ckA=NwJ;qSu@-dhjnEl2FnCOMU{P8cpHlsh z@8##T0jqp4Q8--tBH-Hcu42FSa>*xY+Y7p4oyFj6;n(Sn<Bqw&u)9RY!QgUfG<jWL z&ZGb`fE9lWn0S>MwLE-_gIU7zAZxBLrqPtvDN5L+VpQl8bo<J{d%E_*J>;0rBsPP5 z#FE0@v3$3b)O&&D2`VkP=|#6LAkD7-phwM2z%v`5Y4OLXV?hIbPPkLG+Mu?!79+qJ z#{B{kRJ$x(w~zG7(4%Bm*sC<mRH*Q1;&Az_(?a6_%7Mx`%;G)T6<2Vg3w49s^FC(L z?a`De%#>Th3(G0Qu1^`{!#3o+1Bl=I8kDK9)+TC!?C!tb_Z~n}M7FpMvuaZ@*b;Ku z@M)&0uR8>I`!z%$I3%;hUu1IkCu1I*qQhwFG@LSltcGvsoSHsu<6DA>(vpN%{de#{ zVfFN^Cg}~vM$mi!0y3;Vn`J^_iG7BNF1#cfkPRXfLq!@j!$M!v7OY5&_tW{<kg?vv z$M^`Gw=MTWCA1Up&8N45NrrF@w#W*u@*QOCDTp{1S1g3_lZn+8EOII-@-fs5XR(&& zs~%9N?zOUK3I8_}YA|uwL1u{zYO!Z-Qk{AW+zy)SL#e6!&)M#u1$RQG)%fT@@mb8n z#8i6JrP>CkANBW4Stcr>BE`1&6lU@>#Ml%@r+gtTqH@#;__;2qxih#IJzT=miNebF z6<j(*cX?vWvcIZjE1PSW<(!B`e>?Z4)1d~GuUPLZoVV;@?Ua3y7{lihL9rk!ty?mm zr<Ugnu6)$q4mGB*+IPEC;|EdOUxsEzw3T9MZ=rG$W|$#QQ7E8jA*azDePU#qt%seq zl3~$j5e}Oi#?x%YW)5+o@*QP*pK0_uZLhLNAjt_WMVqBc$y1DbB=iBV2}j7_?1{F@ zoSjjCov`%i;T?vUT8Mttak3vUD|>k2)hU^2LTV<3kQaaR8-9nX;^at|6s9(*GrZ;Z zL#t2BWB=TVCv+VNF)eA9PhL^V;ZtxksnaNOQ!f#N>b>6|@A*3*8gPMioY|)>{`yg% zIa{3VpK>12^?%C?K5{hJlBXb*bAxsQ{wWJlgDt+0lqjuxja$K&0s46Asc8kMxat9< z4|X?_bU~Mp)ju%zb;fPSqok5L)^P)b7cI^+-v`$hu>uM-FSoKuvFNho{-$)kLih0p z&wlMg?M#}yck)Hl5HKo#BfS59(8X&;czuY$iar~usUyQhUEX8eK)Zzpn#|KzOJ2iR zXINO>;|1+%F+guyXsdxS<di`@Ya8o>L^m>wJ;b*kiEx~U_y^cMk6tORsV-%*8^mgS zB)+SBrJy~VK=Km4$9w+>{)ejy`9HHvb|simfGTFOCyxz*8oT=Ie-JjEr;k*wQu7gq znbJ?qMK3j1icfu5fu<&pvq2#egvFTWfOUrCz^mPAhh)R$%T1j`17fTi<L)JV*t^%K zGq1wu%f|(V9J7Pj!4<Vw{`<4rTTkzRscO|BaJBY^SzK3DLtB|FOd1(8#fu^R&*~2} z$(BWAl%rCqwguwS!zs3O-%x%My@@Akik(@i<d4F%(VwL!hq5UwS`b5&V<$ElNMuf9 zgjx)pB|s#X6@WKvh(Y=mSVhHi*jn5v11$@?J>GfN;R?nKQ{SD&Apii;3KkihelLAo ztk$oCk&zLd7x<hS1CBW*thoV;q8(Z7Xgd1j8?8Zjj|$7(4tZiPi)o&BkJa3sss>eE zzkE(Pd)<oYpPp(fTW1{u&k9<1bK79D@oZI2bXy>&df=hNLQ#i_S_jp&u~9J+Jq_l` zS!PJ`s2N(q%~D*wgj16LSrK3mM&M%pZA<Mnhu_GTIOQbSA=v{JuuhwbLokRV#ENO8 zZP?Sd_AsM1^A)r-gLSn#zx?lI?@jUain(7;!jV<LzA4mIv&>~G(?kMxa(0gl*0J|# zz;iU=Ou7xXO}^iCs?^cs?UKkLek6p`Y55zelXn!sXB;c6zpk*H)7byODh}SaoXN8T zksX*z)duu!wDmj`8Bbynby9`(8rK|SXdDMRzR6NuT}1VUU%{*k%NSn&POho&&D-$S z9(sD;MDo^i7?V5~m#Tq4?;=Y@Kdy>KjE30P!kX6ks<76r7!#hrO>KQ6I~6pd(yrjZ zx$P$oSt9vthq7PkDdPN+k@BjHnx=bwo<~AUDBg5pNIYdjj64U1L#GO_n-Y3126<2H zQ%fkpvUIk4LTaVoEls;d6%AEc3Z*(EGKn2eaTA7+cO0H}rX2Q1jQd-O7MnbdPBN3$ z;>49x-Js&n4_3Dyf^K}2DGr--ik2NGh{P<a1^xj9l|;A$krVFzCe|kLI_@;~WcNJN znLcXn5Anj}993?0spQqVnf{u<n#ilfhe2nT!&j7@mXJ#m_`7PR_O>mx+<YRGM{?Lo zV7IU=7W5!Dq}aUkkp*ZskCY=4wJG-q&|jZDP%0$c=d|!UF!0YYaM1QE%X?4OYJ*KP z-edT}%gr}gfJwdO;k(HS%4VKfyw*tr(>wvErr1Ar-V~DrH41vyib9en@Q*)CUiO~^ z+z)?dKz06>8~n4);%+s3b#X^2D&u^+{P)J0Sp;k&D!NZFaz&6Q_c@Sj7?tGY8#H8g zs%dVut8WxXcSmi5Q*4&+dWp2N?~7oqVY~J8vt1@6!(y;Ebso`Ia?2*pYurP*Duh|F zv&|b8ea!wc<up))V6<)18}Qs4_@~G9ZkTI~xGjX-&)#<cC9b{;BE(?p&tzT!d1dp( zDsxQ_oMkth)esCwaHo&QiO%@7NGJdE*QPXjQ)=4xD){|$8H}UT>(6VB{!>p5V)A_S zWnhjszpXI>&j%4=a$6yyjc54epU<(R$5(bA41~<K%8pVa8AJO%g>xMT-450-W{LY? zU3o%ODMiioK$4lT(YuOb$w=W7O|P=kChSJw{<W7FHM8kin-bZzL(=M#^Ks4&Uow$D zs)sRVvxvW~3`@1PA9V^>BkQnBOJi|6*L~5s1&nReX3vs6E$7BOT2Ggjt4Ob+dsHnx z@y5I|M-B&_ghps{(iOd1s<ys6<4198D*v{%0q^cq@9XSKqak-IJr(DP&)<yn7_}Z{ z=y18S^e0<HtUg!=ML2@<T__txGTB?t-fpaqu_KWgv5vt;*B7x~U300EWf-)uyA}Bc zUHn{*TNZe&WN<MCr!V1O_&HpKha<uZOxy+>fX|8&31Qd=sGIb%->FFU4_WJ4<if8c z2A_@~qXRVvKArc_<r+}OT3zQO%TwQ7uZ31vfq=lg9Y*}#DbelX+JbQ_Gc^3jF@RKF z{mcqodoI0;zoiZg?eOvZNAyZAuTyb69kNhkbx<}f6pKkF<{bOEY+5p)5*cM+z_!zQ zfT8my(XTc%9fNO?@Vx!L<1Se`)FTGDlX^GibF#+u9&Zi!$<whd<)DBpSzI?#Oh)_H zQrqnh70;Kavz7+w-&Yiwyt%toyB^VZF(5ZCXJB5Tv5~wkHPrg|;fipX?`XT)nZd+K z&?~gf!QFW=H_zatT;z3;BbbmWP>G;9{Tl7+So!UMlTC!rK8kBeuV<4dZXzeD57?pm zX`$y*rw9yuF_EN;S{A=XG3Y%Ijw3Xq8zQq^Ctqqc3-j=})g@?24b&JYPJUo4sDUD+ z7yQm+*5v8>D$#is<$1ks#!APt*D2wgWaNL7@O?gK{8^?##fkvoOYR=_m8N$ea0Zc2 zfs_l=B_+ky4OfPRzX)b;sa)&;xs1sDNT7GnVgy-pz599^RG>-E3>zHyG%44ib_BwD zR#qzvD;LKqn`h!_xt`;Eh(y@*yB2!t`nPuHLu<5kR$ccW?S)Ag?5BbMUMa3)DZs30 zuH}t=kvd~D#yd@h17mw5SfZ|EMRkay?iI;qe`?}Xv+?;feBEy?(CKWoscM#--fSEi zC8@vWcA7sH)#e=EmF<JYmT}hr@u*qbx`afSm9Y8D9T}`Q*2KG^O33|PkM^yl`FRB^ zZ<Fz-O0@4Lbsp_Yu&-{vn1_0{Cox;NAkogCQ7~8Xx*R6mB-}k#GYDIPTe1fTu+HwM zou`i4aVCt@D`Q87Y575bt6vTifuPMo*4}^4T+yxj`|1O^M&3EHf>LsX@z@3(qEd0a zblibeo#(;VkT_r4xXDXjPY4IBIXohafXuH@rH$NlK`fw9NRGG10QEFQHu4gKpuTz= zh}D^Yr_UxDb6Or4K<&ULi?gwhLW!4oKrfcEC#;}#+CSMB(hYklgUeLec}P@NK)qCb zje)?WLLDwg%%*q&!@&Wa<#yqjkCs#*4zEm_n-0otttuj?s%gC^A?!iej)Ny*HTT4K z=!+OAO*L<lMmC^la-|C>^9Vkoxkh`P1<KphOvfRkTuNdi*IA=R>sZ2nDJs;unOa_1 zEYC-u3gh*#P#D5BS9N<Plp!jmFiTMJpmKofrY0ZRC>Y3a-RVhh%4iPLvECI+KPY^m z#Qdhpv>6WPRZ^cVBWM|DSHnG-&1v3M(nD$jD$^9qFG(3<2w0zq?E&F%kEI--D)Adi z@PZY;K!5}Hh1EtzoAWc^m`0qk(?KSs&1-^MkYKz-|C++fDPr%EG`S5TDxM9M70I0$ zog+Q+6FpEu)^yRze!c5dPD7Zj|AK5QesmX{^)xp<bwlltL7kLNPY(>_Dl4Yl!4;DF zGxtI~RHi%ukh-bWS3FN`j9^<pV-hJ5U-wb<HvO&qP|>4~%!A@_$mmncG@rdY_51i9 zC%gU{BUZjx<#!WhzX_ysw;&$YJl>XwIK)~cB-btg+hn~<yayz=6Q`6F)jLdQw<-;= z{C(iYkydN{5r*GsO|<i2H}B-c`?#gGwY_ISXu>T3_N&1>^8cQMw(%g)^(uz2Q|LFf zimv>6>v?-Qlc4ou#my9*#&0$7KXvKyd3r)xuTAk=kK4KEb>5JkWERs7;pgXX_uE_N z*VETO^maapvnKjkuM+DTOEb(v(RF_6+bX^$Bt&8gpMW{ARXcULs2P1!>h_VAN(ibG zNvkh-{s|E!RSN!?l_dng4|YmzIJ59R`0*(u1s`@XL5lZARWeE%#(Z9?1384!cw6Ey zLdOSRW?K{zgy>TZYMl82(7%-XPKlltMeKByK~#glw%fjs=j->B+{ra9pSgCmga)Nu zC$xA46PZ|A00g=j)%1zRUQQ>qMt+*5zkW%?R1(GPOe8N8OPwlrIN#PdIuQ-ASK{#O z(p^{|%;l_torl3@t&*jXKbx7hVdXH2f`O&N3ZNe4!jhyLu)X9=9S>OX+-!f|{?Kb# z(uZkRRoxKu_V8w3OJt&QZwbmGfYK<Kb77p&jaOl9-;mQ6KpyQJ2ei5-Q@ydRQO9eY z*I=!$lj(B}af4f4AX3OXf52Frf4J8A|J)>SY)VyrpX9mt24BIF*J(;jy^&S?k7`el z>aftL{sR5LC3SM0s$$<c9z!n2y>T{0i~fThIukBPG~&wJmv(T=P#SHfedNe^qpB3h z9ZxM{?Do_d4$@MiS<rxPjxXS~V-DC~lf%8p#KVli=X}Jb=3zrZzcjFhfkd5Cslxc< zB#}jYB%Y#zC0iI;%*vAmIwv*6ti3#IfB(fdhEfKoG3i?TVPH_}`6|k4<-b?*#zisv z@9C+xt+CJ%B7|;B2d8BsS3C!t&z8~H!pZC7c+hWR8klnESvee{a6jl{l@Jy;r6&MF z0Zj6sviXWg7dY<>D*KyG3CYheLsqGFNfdB3^zPn-oG<6!#on%I1<?0_156bs{a|gd zC3qrzZm$fZCGEn*(1O5Yq7~UR>kD8N;}Lz^OeidzcrPahW*n<+IrA)V!Z`5S>~{G0 z@@8RaHRz%@O*;)7EP6p4&$DgFYLriA$JfSJ#Q))s@rNm!94HF$y&cB%ibpUJKITS( zs7m6Qi1>?-LHB_#D@!#^E_D;%#x-Nd@`(pX!vEy$p7&`e=)TgUw`aihJ8SZ(+#~4x zSA$jLlOapo>|whnvC!6l+)XAcWL)5#|M97s9nM`X%|MiQWy(7ub6*wT(>R51t_F`i zj%d^+XHVN8zU$^=wQid;jIW%#HNUK1al%{;&RlT0=8vw+enL{}FOvB}9j3;3!9g(c znBBj3IC?ImzrO9}Ihmc}(8D<G;VCTZDQxqFP@o${LuO$QsZ=yF!2mprYu*}yef94K zR@24Z#V;)y!qxB{71+L&@WNOVP6t?DQp%wZt*EpmJpBbxF^eheb>JLtf-AE`dVmv{ zP%U0<kxX>7AWPx}#NS!rHSMeBVesJ}Eg-iH0CJh&B@<wXjCq#K9mW<Og@p!(=kaR9 zn`P?L+u}9=UETOX-Jr9|&_$-lCO+Yn`Ez8c3u2_%J??+Gha_B0Bm>l6XA>#KzHJT2 z#B*MU#B&N~ao6m}7QTM5YtB!jiJ;$qo{lnC3?m}8NERA<PLE_u>cdjz3W#09w&twG z5Zd2Q{|YpA@Hw^J>-rLjGmDUg%^xnL8pR_%UThZAjkHx}J9Kb8LiOSnyF8B+?{av2 z?ZT4uVhcSrj}NNzAEx}9@3S4mS-HV?B-xc-Rs!Apk|3*4Rm`Rt_0cKrLfh!d{4s(* z!tmy|=izVtF_K!o>@WOowaDbYx%;@bqBk;Kc!jS!w6aHvdTt)={QS@@McH4t(C0N7 zq}txj@p51un*O04aL9*<>=(8f_KSJ`NZV}N<tLf|CJg&T7k$}>tlpDVZ5fs{_3ytl z=Xuc*P-9+k*vn39Y<bQ%5+L5@dd2bWZr|S9gMEjGcG0HXQI!nSIal?jHFuj9NqXPh z^JnNg&P8`y;t#hU-ito(=j%sF@T|QhFYrX^?6+vDr>=~a?=0VfT7rsjDWtqrPS)&i z@CCrF`g`Gnv9*;lXJdyPk#4p}_1hxK(ZSImAl&aDYg(~4;q;%w%yy+w!!Avy^NakW zE63Rnl6@nk3Dhb#FuQJJ<OrEtPW=xFw_Ks{fcS~{1YH~pdsB(xw|{T71%f}5_=|3K z28x=%@9Pm9klc5!a*Z*(V{h-G;IBV#vc)sZFx<p`FR}~@Da}}a=bc~Lx!&PZ?@GDH zsCAfS7k=UVr+?Ryk(JfSueRO|6*8h7<`*Kfy{exJu)ZhMr|(g=ij|mM5`w9x=}~_C zYE*I8G&cLfq9dAY5*b*;KJFKp*nRP{TJoH+7;+W^`>FT;-u<LP^d2@al6EVDO^i2v zT{=~yk?Zx>sGj!_1~@|&G4sN0uU`*78uN7gK8d0J)6?^JqwE)JR1lXFm$oQi_sc&P zmF43*dmnTE!B0#rd8czeFCLuSNQReTSLX3<fX36D$I=8e?%5sEcWUAZY<#=)&J2%N zVXyu3=8`C+1Bj!?Es~6{zQQfp6?F4yLEZTNGJXN)ZlS<g?&p;;xkqC!%Kn~Jy+G3g zr@>jqS)w3h2IT_?V}Us+?{E+P8^?TO0}0O)Tlewc{#BF;|1~=Kc7f6QK0?@$05?u@ z)NR~nO;t&{dWm^em|`-mJdckrTR?+sTh6wwAj1eBKG%Q<XKG~!F+FO?=VCjo&}bk_ z0?Gwn-D*CxZA?Pu$6s>ts}Ew!8PW!WKbbDWEMz~c)$L(>e0e*Ed5#oD<})^+n{D6I z(nTJ`odB)+mU&~%ntZr@j%s%r+t5R8$D%eg>G*g^hBbHZina6AD*;o>IlpxeK^(3) z%IdsWfY$qf7zGF>lkADt`3d=>lcsQ|tea+9-sP@0mZcF@mzEN|bk}JkD`owI9<YMq zyK)xKGG7luA+Ka)f$we82%0?5=Uxy#s6;z?cG=JRk!xGi-dOwCz)HPF?7uJQMxV4^ zY-rD7yjd|+fzOsaAx6aG>lS4)woJJ3C>mPb%)H@CG8XV#Zbsj0I_UI6e{`@9%5_WV z<rn1>4WtCR1Z9fQt_TR^9TT|czDC)ZOGu5b*RtllM)9qYl<m1pjB9<Zywg45V=*~C zhos4l;={VY2gGip1Pty8iml_-t+TkQyD=QvvkV`{b{46H$KkH0E*m)Ey>}Zy=zn9& z{{Ia$<PC|5sz+P2!TY^jpxDT^ZtU-fvXN!YC73By6UeFGG7?de;p&^bG6;KBAUfXN zVM56~bW=Mau^V)hJ+{DGAc|}fc>0nW@R=yUAE9k*uBV6I0Ga6q9o^EIbB+8V_^KzK zNr+l{n-djrUvW$2<72%nCLr?KD;h&%l3*i36l1?^`UoLairxf9m-)pMc2x#Qto|^j zwNFKdppfD~2e1;P;EXkRFzhmi`BDy(RFX|F_z_YXo4?VBjwwG>Vc*j~kS62fUrcHN z3lM;`J0!iX6vD)lD;R&;#K}X7t^x!DQe+4xmw?8JFJWTZNo2STzt1-;$hWO1TV2u9 z_gXjrmTbd$o%22;gzAykRJ`7>!`mrIm<rMb@m*Gnwfpd>DB`fwH^1)AXnz<HJLEL7 z3e>daA}9kS#?NIL4aINJskf}6^%-*qncU)Enc1shrj5<#fW+}|h*^>n1$GX0^j(if z-u-H6dj(v7lY_jAu}l+v&uI~pfz^(Pzi3H75Sh^|fQ!Qw;d;g^-wd|=`B(Z+x5o_J znlFWuT0!4{gWO@zslq=W9#PO?MXk|o3%lG>H|Z?C(&b4N*?a+)anq!fNJ=Ndr)W;j zII;XQs-gLlCt25`g^9%t2r_j<2c&Za2Nw6ho_VMw`eM7Uiixl)V2cYK3aO}`ZjR9y zxQ#D6%!%D;5*Cx0zS($HyyrJ-#4ZQU(gys-DCmFPi-^D47RF@puQyb~y59)&Sl{u# z667RuewZwKd*{E4O1Bo095=h}Q&_D0;V_cc7nhvI22|o>04e$Ee?|*Xb<SdKd6%JK zXNc4517Y076nhn5V3i%#V$lGR%J$)p+bD3xDG=Ix^`jExgJ-~bz9WWFwB<26z?mEI z^<(=&&)b*&v8~bkUjsSr!K9A<d1&ngEKKw#v{x~WhqHmGlBKG-N8i$VZEMeWtS9^q z`ut^Rvr=(aWk^ahY&2@S@6;p|0<Q{MgNEY-rk5Q8UJBwfD3oDOy$XcQ-mbyD;I@Bp zI=n+j8rS?<VcnT@=^ef`zy=X*<FG5#8F(P)Y|bw(8k<6iDOE>5im)_|t~zeZVskyR z2=!U63cV}f0?%>shJq?0qvj_-3+T655pqU)nFqDPnpd=B&z<9;L_aU%$v*3H?aR7Z z9zOZZi|lk7b{4i@p3<&h6-@I0RD?I2sMXzh7EYQHU1xj#`#<&g!nCwVcat>*Uy2IO zxm;PRvd+2tKb1PG1<FXK)>r*I-lA<>6k`B=Ztaj(p&>og(m0@<Wa#5q?@;+;t=klb z$jpos$NdZDa}fl>^l^U%C@+<Rvm|4QebDGlN2{iRJdKB9BOmqov!OXXP>xAD2BMiG zH7LjF3K@q)%IkM{{i2!JcZiFDj&*c+Kk%q>*K=L^IE-rv^z-U-=)$NQSlxi%Gy3`a zfZ)TAPgU)VBo+hkM(N+u8YguT8_R1&lPpA2xK)Epi+@R<Ts!i_D|P;j%MyV2A~L1} z?Y^?w<w19e#a$<7-BENV!LE{*OevJJN@sW$VwlZ{<J2neu%{v<|5`_TFz6e^4Eoo; z(1Uzafxp$rNEhypnrsZZ)&{a&Chsp8cdUr>;w%^(3zKzsCe7b|mEk?#{UMeNcpc4r z%v!!|DFrQ~AsT+yNOyYAGYVX&z|C&jKl<&1(ZzTaLf?oPv^i(o5V>`$oD4oK`_#Fo z?6dK*<?0RDARrRT@q2XP#d2wzuW9OJjinK`6Du0=n}0_sH1B>tPODa(&x)|gcTk~8 z$X6Sc1#}qw%}K9In8!;F28G`JAdfivRR^?!lti*KOUqy}_$@TwsZ63$CwwVM%n;QN zBl<roe|+;pB{wng`e1yirLD@BjEl}ZTO%?#7$c6dXJg~C@{Nm*c&T|n6L|Rv-3%xl zk#YKgpZl=uB~Gtx7n`^uoQang$SlWfawHetShN{Hk0duk!!iK8PqT%%5~u!|tom*w z(|Qxbm_rIw+Cf#^nl)vG8rf10HO_b2J{tV%64aY3A->7fDrf-ITJ@tf6mJ?AmVk?t zUnWeJf2G-w;}vsm0buT6@4-X16V;WK&U+q3P+4NHn5da|<<Zlo6{tn23dX%iydTqD zB@}F=s#Mqq^CIR~^yY6=Z3X2m#(VDcy^thicQxOo*j?fVbqx%VAE3=98W<_?B^ zd&HkUGG+s9<==bO2laI8WZlIDyvB)Ls6H+1SA?6c9y#UXl@6$RsiOb5UFGH`q6piF zvG)DDFRsQlSJ>7b)i~aL{Ly_bV$X!$CE)g(SgO%mTj8F->JjC3aCL8W^~cM)OI1Jm z@z~E(?!#o$qj6sdrd{+h#zc%fW_CGp-(louJYLfU;!k^@9Nhop48Vfq;&`LJdcCmD z>t`?|!PFb)yWDvvdGZNq<$8Acwm(fVEB96jeYoILu-6DdyFU@@6R9KW?pih?^(kfo zksJp8891Y@=P*aV!M52UIW;P&{<S_S-q$;`TF+{@dJld5OR<iWcliA=n&S|L+v7*v zWTlmAvCAGzuo+VTjN+b{zH7!$5*>oq{41^n<1z28U1GR>#QL&2mFLUDpxZ^#pw5|o zL05i))fF-CIj!ns+T`jk)&)H<2s_#I1pKSw>F*EMlIqrK;U^ZgC*$_x-;ON8Vj>j8 z1jrK6pP!*Ff3)+K4$&24X%F{p#xB@U2?M&cW4;=Tke^Vs-sLgI#y^S~6y}AAGFJ3> zs;!?LcR!wpE&QAF-^p>z_q|#(s+qGF|I!7LLn7bc^zazV`Fl}iSFjOUnzO)AFMmi4 zPHvPY@4h$&4^+pD&H2>-p^$sd*_hF?`ac@Q|CN4wb467QIU%m^w=Ly@GH?crCR41d zUQ1MbpA@uetxGZYGc{e0m)84e{YL9-{Iuj=dwX+|#V&4A<d!khA>SKtCSY_F7Dn;& z?9W8pY1yUWMct>E7@YL0*log15t+ZKl9$B<kR@*zRBWk!={XZklm=Kq`g+JbV4e3; z1v6<}lwu{8Fw(7j0&rS!?#oUE&ITQ!n9}GLFMkC%<1;t3;5zvo=EKvC0E+1Vw4h+s zk4B7oI<{yJAq}BK)P?;%qJF&X;a>nCW>f&fSn%e`_zP?*2+-^zjb=U0!VZ^Q(r_C} zD$HFsl58!4P^_c(5AajQXJkf5oyH%pK%s6Bh6=!)fru4kehO#V-)zKFCYrI+oxPV2 zYG&qq9QXEUt?TalNF<;eyC>sw_-OzJOm9S>-kK&<71RYnqy>bO29p3H5CEh%V|r}G zR^OI<ZZyA;(pkFYJ}>g*a<UA~X-f)I6^LHZBkm%ziuZys>i4j#;J72H4yARc@bAZX z`6=M*lz+GlSEVg~wNfF^YHzn;9bLwA78CknD$2di9^2-L>a=d_MS@LOicUN)!yr&k zHJX>I@<)OLm(pFM@|7*Pw*?#4$F=1HtM3mavh_W&h0!0r_`#1rp+UdV=7L{ofuLes ztVdT?he~iY5&vQj9H;Kv#sJjKCaGYl?H{3$4{s795?E5i(lcnq?@Ds9`NJ(g5(27- z?>^@h4-yqV>~jp@Blk!4;rkp|z?@(fy2>Y1B21HY4b*kkQvaQJJu#N4pA^Jo&KlRT z(T*C*sIbIx+h{O9n2Po{fOe+mVJ>LDHlub~tmcYvAdF=tWJJk>*;+t%ITQSbw^`n) zrJHJ<>QF*!4l9^If;E#W(K*;DCS^BmNY)aI`ZzE2Vu{04*})A!u%!{qZ<D98$!@Hx z=Y)~9YC2I}@0o)7)RDAY5+G7zvF8?U`_DSeNbGhNT2bS0Lm&RVzQF>R&-AhmtYV10 zXhGoFDcz7nc8VvZLC^jcpN1Qp&c^f|Bd6HuASlpI_UCm8pwdT^b<9r$%lmLvRFff^ zhKMT?#(yr}PVS|_X3Q74Ph5D_DSKU)zi_o5i<PE^S!-HSUX-aVHGF{6<g??PcR|IN z)peggG{3z28c<OB!2W{T`{4a3fjlL2V8DmUhuLL3Bi4KsLQ7Ji{`Vt^K3hmh7)a}r zZT@5?J4CRYt5P<QY6b*$3hHltKKFa?@Nz&sX6^9Pb?J-E(czegW4^<f4ZE~uYNR&| zauwI1t6g4$cRgW)dy_BN2SCIj=YTWr_z>yfpVYes@qEm3`zUDHPF2jaIMa6%M0G6_ zZ7Zhr?-l_on7TW$2Rpx=Q3bAS=E1qHL_Q9prKSm|f$CS>p^;;f5<*_%ZBrW491ZVX zILpJ`?*^QeS(Dqv&GB{r#no9wwGn=MJGd7pE=5YAp+Irhmf{Y@tw6C-9Et{ar%>Fr zElzNP6$nl!PH}>Juwa3Y|2gZN^{sO^vu1AQVrKTc_xt>w)TU2gzM%ipo(p+j(MKRL z=ATy*CjiPVAhs%{7%zA|W{_`rJgy1bu)K}k;RUd(TBFUofkgkB#Ju^<6IUe3|Kazh zci1<A`Pr04wlKrF;u5F$+A9TKGp0v05H?Uv@}?&c8hqTxM6gJ+`_qd|d=!DFo$~4> zbt$=)ybtpMMFiGvxb;uop8FqOz9QPT(OF+qp7+1E=cADH$hs7Ku9K=!#uaE|fbnKO zt1=3R<IDZ?@ns3IrU0Sb_QihDKkv3qV1$&8iNFs_4=r<*R3m$bKYG)A(lHq-k%{xv z*s2Ow$KcX~+o~8vKApE}00+J&)eEL0Efw>aIiV`Kg&sE5^>10aWUUifu$ebT@E)%e z{%Vb<$dEyDsD%w}ZJv*|j<NH=t}K-#He9gkoxPp7_dRCQi-sRUc2$a2IfWi1d>h@; zv0l8ejpa>3dJ%?=mX)La4~0pcZePAnH$ZB)$V<JzP<8Xif+JsqT>Eu|F^$!9nrM-r znU;g#T!Rh!nM=qH1-PtS>4n&kxbib)u^ne4aAUOe-`i48)g4rnoLEiN`wi37TgAO( z|4xOuFRPD7>7@>^4h@I0BJ4i9V(p9=<fPBD^P|h)m!)60W*f=(#$!*uy9VbK`|0XF zn!@L#p9s6tyOJQi|LL22K+E@>b}-LIrV9s~G2Ndt37=SloG3hVugM&3kJrBpROa1m z_wQVF9C);5kn&Q8JbI)2UXP>1@BX-LwZqM#m-db)5DNn_IOmK~ex-L};FIAsT9Dt- zyHl4^@6umy14ye?y$Y-KE0#%}KANI#+lrQ*1^a3i4josNkjQw2`}+H)gB}KuZYWqE zJP=rCJ{<fC`^d!i)^mnsynP^$k7_W>n6Pe~KmaN9xDPJ98R&2jsqv$)J)TpXoAg^@ z*U#f{Y69kZ3T!mPb@qgL^^R{B94_Mcbte)R>hD7ztZ%QR8B(C8zhR;Sf(Zha5<T)7 z((MBl&8@Q??4~G=iz;o&EC<-CS37tB#&CWI?OI`^SOK>#Ihr{ph2`*!GrzK|c?))Q z$;t3a+(k*3{QbIUOW+0mP<UzmbzQk^gLX*N(AY2D1+<nS<unPInEJqPOJA^am%T4x z+?lWshXMvJK;u7-%}#_G%`a?Sc;z84JxZ@^7Jt52hJj5MZDD)0)u$tu$ESIvpp%v> z2!AKf!3(6ySpeR}(=!`)-8(E*d;JqXJh~&6@Y_~3y_a=%iw=DAU$Er=*>QC0oQB@% zW`J+S{!da)h>6?6rX1k4<;qqggyx5SUm7(l*!kWF>4R@aeh%h@q%Mk;9Y|O=H`iD_ zT>eY{TD*EIg>*mWh3x|JZH7JSNsze}9_jifl&9~^ZoY47Pxq8E^s?0AF1&mPLSQwN zK+v*>wA75+mHzCee?}Pe!{3_7pb&3I(NoI+yj!_d0+ExJxT$K)bnLfTuULKXwn;lN zlaxD2?Dlfq=UJJgR!03>{;n&Hr_hB%cGGc^J8$wdjGEA8ND8=K6Ki#okSN6wvt6sL z1KQp3D!7Daav-=q0nE&iuMv8AXgvBc4STB3cRv3~Orhn$+$~kaR^}xsa{E5${T!C= z^{ShSNvWxJIxF4G4o_w#LEo$o?lr-1_m}vnBe3&(&b+syY`FlRtzrRdUaEQ^#$b*A z<d<4P_E+U%Rxtuv&oRYcg7FQ8&;!DMI`oDA!BIrJ*8S-w7fkjE>lmFHt+rnTpJPcB zspbGV)c`;+7B5x979|AEBN8{YeZ<|dV6)B5H@2)V_A{!{!b+T90`)8>__jPK-lW%| z-&QGlwXK$J!GC_f=0vaSHeVpXwfm@a8z#`%03$vvUvT^;b0>YH=Y35mJfb40wD=l< zpI?}Nc41Cl9L>s+wy>7mTh>4X3IpZifPCJ3`hhQ5E|FKI7G#vxspqSTL+CzFcc2-) z103~=5Q1W|p(pGB2uoGm{!$2hD|=l<?}ef#rQ1-x8}uI8GXxyt$(WV%20e?JASrjn zlm&Q)`L4|~L%UK{&dxMS0sjiJB~pv2vsIJL&6w*dhIBjkLx^Vmd?%l6@IEYE*>bfN zL_?O5N&lF!B!3dYJ_FlCYlQ5_n;IHge8eOqz805+pYC*YvDrN%_&F(7Fi2rY13ndp zL8AC<+^G#d>XCE?KD;+}?Rj%IoFAA4#Iz~yFrD?P54C$Wl4)fT)b{eASYr?+V|XE9 z6<3H!I+IMjzngJj2n{Ecpx)sNnwU@c3C03EnKVv6HhfnK=LmxHVY<q+#8{4Rp9l2> zEy>fy(ckP*Id{(fOEd3b8h{%`U|+aL`D)lgdGL!gMur{Lr{3pPKOq{K4|9a4kFN7C zkkC-^VVP;}lPEnwd;5<O`)_Jf>S<2!wcfH2JF5ENkYK!?5?WJ-+GO!wpUO&ulOLQa z>>O(e6!9h%hm$aqNfa;kw!2{ui>s5>?Az7NW$d@*vlLYEI#^TEd;+f6IHSl)iS}0G zl_Sl_%Opg_t;`NN{H<!#od?@z{lL>_4h9mii0EmTjX{QkeNhXRVvKJt=H*15-wYln zT9(i1d?<fc6>w@rdZu}rSegGaow4@V%1pd)F^dY+V<Jra{PESvV-5?zD$R&Jw^ZeF z(4W+xnun4PS0{Cx=8w+c=a;ZfLTk$`W4^Gz1{3hzW11DRI_-b`1|_)7l$!Y1a;YP< zieS#3OLm4-o0qN5+a__R74`|N#SQPKQZ>?et0F|LgvJc^v$evg2~{WK3X6ut+7XG; z7MXqY5lr1)zQb(VKlH}`<>l@(A1O|2haEU)bq$WO$i4oN-Vx+gg>z<<{w~6qdLXr! zG^X<xtzYP$seyBq1Nsw09KfRp<Fg`O67*h`g`>xy+TN-04WXyJf?{|m>72;=gUTBp z<hgpTg(Lomh&+_wUZ><EOm<~TM>)T$ryQ*87$X>-4RiHmI5G4YZzpe<*7&8}cr3pQ zMrUsX>!iwUV#V7-&jb$Qi~7QNHr+_o8?VkGJj_g!l?W`?$!8)i*#VoPKHH!S-e0>C zd~5CwK%@<|EYUgT0%R+FQHA@61^r#RBw`RlPuQ8k%8ddwCYYsV6zUTZ8>O-w6GgA1 zV;b5s9p#yS{0&<rTuv_GL?m7MZzuE@tk<rC%((;!dC817I(IueJG(tA3EcE%elZ2Q z9i&#ak0NK4f#?ZqJui#;&LsQGdL*s&?rDu*+Ncv@u_I4JB3<Ub@6c!ro8CrP`=0n> zWBr%c_ufHMMn&@}br=_Tic=W0(zoNhLVCi={5Dd*tX<}08=P$xBDS;2jdplHhT2a2 zAnaTWXyzy!lZIxV56}Ftg|(h;K4?^@kidN?U@Jm?>T<hqGvmYS=AQyD=C+$<?|!Fz zIRtrx5!q-dc&I*l>$YX*{;0}`ITu1*Rg0gT(gn1<ZlOAEeGT!`ZGnBwl{}a+@suKS z{d84QJ-gjJ@c6VgGU>K%o5XQlHht*7KONRn`U)OcZanluZAdCLN~pZ{YJAf#xR2F! z1a90gL)eIw-!1Wb#QI$yc66Pqc=d2qOdA?0d5D~t%?Y=?e?Qh5ev1-VOj>yTC}au) zwFGv}&F$pfFdq3GS*Awgd1Nc_O6q}#c7`I|1M=GsmK5Cv`UR9**Z$5FPx*|wTKmei zY>eMW$n!wzr@wLKf*_c>&0`OgpazZ}*qxqZi#%b4d0HTbz)acMcux3~l-~=lv&9ro zNb!pK<;@{=nWP!biuc5M$Ew*c_2=%ax25}jX*Ocx)(_mvJMo4u5W|1Lu!gy#oLqRD zncOv8?S20tt8J&~X4AsI{WEZOU|m9v*Tx}hkJ<mPUnTkPeZzqx<Rm2JYRcA*+H4$M zm2rT+%#o250&6;VKpy$9Hrw3nY+kDw(z`&aepFPVCBgo@V`_=`VYkIg(rxFE=*^VA zhswLRGP2p`5rMf+K9~?=&xKA<`_W=M9hTU-o4pGB{^nbMnVMc`x-G8rG)Z>}q(C>N zp4RQt2%ItKSLzkRDtL~TdvTZifEkT4>_H9P==CXIsxK2EQI38!`ALwe78*9b?%|RM z+6%yt8~Pv2m*_4)|8JCQ#_X^hEnyhRQ&5Emsp3NYmnv)HZMdk)4SGecHUn`7dN7cG zGXdKU=g;uyr`n*e^X~`uw8MqV&R9A&zbG)hW)i(DO$hpmeq&v$8CLG_4Ddn3DWMH7 z1C0xf9+RCF=bDJ|Mn}SAXFetQ<>JGE`FtK#lVL9g@@WgLKW1&qyj<bzrH9ZK;8RkA zB%kc{$zLgnJte##CcO=rj+RSg9=7zr2-#YD2_Y>;Mw)K24lVaa93dH7WbTGcgDb;1 z{!pCo_K=kV7lC3fu(CeJ?GF<{WdUlEOpz~Dq8y0xU6yrK9<8qE0*rB7*hP>zCb-5( zpJEn#PS5?pEIt{-l%X2E5gz2Cj;4mQ@1N=mybPA%9XeB9-6_I!aZIh_0?6fZ1*!8h z{lN$_f&}bjyaEviO*c!Jw3;!14FzaRdXgY!n5Vj!B((kfE#JxUM90SfleVWXXL!ap z{vJyNu#Y%4i1!)j3fmKooYQ}ezpWs)EntTd#>tiXWqe)&`o3r0+QGwMctbG}T1dcB z3e2ewkeQ|iQLvfF;eIgxOE|g7l$Zo9tZhNBt(<3z9H{InU))aCZwELV$^9I(;M9(? zZFxUkp@;99kKwJeNFg7{_iL9Z%*Nb1+0h$jDzuc|Q0ENlRnK*5e$8;3T=mLRW-*57 zQ$?I3TK)tdGa!k#q;=uxo0j!&X2u%*5q0DLmPzisa8E!Ux7($`T#3@O4`-XO_h0x* zBHAl`j19r&aj;c8a{gi$w|kSRFUDvqM?Q{>8so$340^hPlgyOV<a`@-Ug|%|sqrcN zCIw8w2K3#=YhARJkWE^~eZOX@!i*%c_a8ykF|Nv_jK%csaP2mVH-_p7rzG8bs+h7d zw`>lrZY%}n%y334tbfeC8Prx>+!$oxk2ab<V&r@Cz^SSaze^wg_6lIo3)<AoNak%% zz9`o)4a3(bJGOGfm36LKayw-I6ilKit>lrcTtwnBTffQSEG@Gc{kMcj&GzuDQGb4$ z7=_19I>?x~<0*otmKylb^?+gZ!Qv$P;vEIKl=&|vYh(dl=}!PUgYJ!lKoSc{EZxD2 z^GNp6gFkps^*CCx7X|r>7+7&NAz7kL`(?&la=zg|$mZtfH<NOg&VM_i`dNfx-i;1j z!DqvRRdsa9wB&KoxO-p!D-hs_so$Va6Y$!@)sX#3@tzTuvdBOF$%(Y8^fzQwo)@5! zs4=f;o<C-|c4|A9h=p&#D@LfsBT%@HRq~P@(<D6;`x}OUvWM+hpNh#}!ZQKR_r?u+ zNd`eauX<m{6=&3-KNRyZSb{$8N19+3^LIZ;+|g`X#x&4~&ZY?LOy!+Tk6Fu8ms<FD zx4$nuNc3zlme6t>qcX85+`p-OjPo!0^UB@YyFsB6sD_U{oE`DDRbY!(KbA*vP&M%# zOBJg?7;nKewsQX7<P48pxnX(f>Xd<tuT(rQG(kICl^1)^TQ(PMHq+ct%otlWCXLJz zp%pVqD3C)<XG=7&8|x{qeyeIUfYJ=zu`}DvrC4vR7tv}hnB%mh<)jsdG>b}mssGrD zqD<<RlUB=>%g05DNyhUM!(w<CU*Brft;9`TVXxrzlfS+VtBPoql7CdV{>(!kRXZEL z!KdCUB9n+#utPeI`?A->+GP@Zzt2PmG&La-!8<XmCj75-u4C@3RAW9xx(#N7t-hE7 zIbXR$1lnR%(#2F4c^Rag(KBfnzlpw>n4GjZicB=TOD=xvD?_t_+)x=8l)vyHMW}CN zTSDk`BjQLR75SNX%t<v;@rQQOKa&?YH0&8$|1@zl;`a0NqhBpu{f~ponjIwbtSuJj zJ6c&BmPbveHD>`X+fYdye@6ov>xXab?9BaGpklx0A1)`Jd>2nM>F$$k^cA}YkTfe$ z`aev{YEe*{ceMHr_vH$y*;G!lW^rN$N7%EYc5x5YxL2wrQpfq#Na;83SG}=%ap9F3 z7Uwrn(N6_Jv-`=pjCB6rndZv04!_H))rUIa;|l*rTI3O@x@QMK74w;t<zQc!V!;$I zuXwH7M{KsJ#Jd3yX{8Yh<g|ay&qJgc^`%@va$qaZaoESttld9rFW|3M!#O+C_Q!m1 z_MP1FpXaZxnN_BuGIka;qE2}JSmFkAjqZ#JUlNTqAtijr7(%UGVsLWLVRsi(&Hrk$ zV&qQ~AKhrjW>pBDMBa=_k`Pex;NNbRz6JSx<l%Na*(G=tXB<=J@_(`bz(^6Xu>^hv zmYRIX?a0V`)bCEw$m-)L{0GOjTi8^yue#Mn-~)?XcdOOk3h=Op<BoA@o@1VHK!>YR zeruhFRJ^~@yDP(@Ujj|waBt~d^Kc?}`13+@D-2mTw;bk{m-GD=YfIkiIn{p~Z^M?F z^Nv6!Aq@+>YsfBPDmyB;I$`Izc0um=zWz~o?A3NvMdpDytT&{o?V+qbwdM>`R|?AS zY}3zo-!0=ETAK7f*H7ekh)!@{IWX^nxNoDf<7|H%#arwnY&;|q)4+}*>3y^$|ApNB zAKK`N!OPZ`QMP+(wn|Ak;Se*R-=_<+@L`9Hc6S$edU%Lfdy<;D%*@Ojx8R@m+_)3W z@`6fukUzG?PB_M39SSiH?5);clU{wk+1xDAvAILuZYf4rtKoZvgU0|Xl9$sdS7SAS zy#ZInjEhe`QfG}P4yHFOfRcwC-M_zMWvIqg;&U+oBUYblpjgC$thcxcG@{qdAR&^h z0uB=Qk@)aBim;$|`;0T^o5iT@7N=z~$0<L8IH?OzeCEB+T>d?o3K2#!vZ<7ao~82g zyI0;H+=?n9qIeSAQ_4)=MX<5s8_7TCc)!f!-pUAJX0ihkmFSe8VVr6+1liD=%B13= z5&X{P5=($c@LI79h=1L9v^*Ir-t4Tt8(%b4(XW~J3Yo`qLBk6nP>i{I^9B4tDV1d) zjqNOte}F%ab)1oZJO`fQZZq!6m#4&+AeoRpSV!Mq|5b^NRjUN(R0NE<Lnm3H0$}0_ zO!(=0&iP9rJ<*cn>&W`+$w~ucJW=~dzXK4G3kf>uIEhcU1dL3+(R)M%fl=rIfPOFl zpcnzf*p;Wb`SGP#R_2#oSLuP}avFgZ;-9-EvQe7S7$zkx@4|T9-E|l0jp(WQPF0=E z9z}_C+~=yJW%89wIq4hGkpAw8UJo!S%uDrrB!HpMyX>D$e5y3;bwz6#X4qB?`o}aN z3%DOoV2DQOn-5x%F|o^#JZH8)4t$^?tVR1E9|0e|JYcs(`<2SlXmX{@%Z)4n!~`Wv zG|7<Ysw~&1pbfH6XZXEUjDk1-nx<`*=nAX>!Mylt+<@WQkQUF>SI@6sOTLjo0S<r0 znjQb1a3;Of{5_)^Kvsiq&ztxCt-xTD-2Pa{3#1RGy*xl(!IFAvr615yp=o0v74TAC z9e^o(2jC~ha6xPN7%4g{<DgF=mH>V&_h90JWgR43_#>T3JvNaKjFK^HX8Z;?E8ME6 zErEi&>we8YUYv*NwtkMm-fju|#ZrfSXfG1;q<6UfLdb2L<JQp~NQd>5%Q9X%+W3Uw z#LeY_#C`*<<37zv;Nl8@pqmq^{`4$qf3UC@_@g`SqM|8=1lY5NAL`zKR$Vbt?6ntR zP=9$i4}xFPqXpRlWR}{cP~yCZ{QwQ{CugN1Fr!S@>GRFiS_@fD^MuR8T|0USZyqi~ zouLrq6~Ud0sWn}yH7($ZDCmMTMl;<Wb3zSYZ2sz4XLiUc@5+#mFKT0u<lZP=4saqU zBOB{~cr*u}sJOFpZef6t>t44BexvU6%ei*UvFA*%b`Y+Y>p@^Qyo<L5odM)*gNihC z*kqc-R#!r$Qlz)m^$xc3%zj9e!E+oBit__B%f|-Hd{}+a7Wblf)q`Kt(HqK$2)Irv zx8Vbq%ij~-G3IvE)=R^krH^$f?dU>uNKQtazWUhezwKHU=Z!;bCfBpR2a+eyp1Q{i zIbNWrHn|E)fiOFwXgH%3v}S4Jllv<y7Z?2264hSSg`K%<DmwD4_#TT^HWZRUrnB-D zWfoapF=K97s;Uw*JuBVBd9gNrFVgwZc7#Ef*y>c(9X()6giIPpPB<aGy<=b8`9sUt zU60Ul<wdOPLEsHeAX{}S;&qX;lcy@Z6Es<vm?uC~St+nvH6l0*(syl{z3A+il5mzV z{J~5T=sa2x#KJWnxY%Z|(zHVe=o-ePfS$I27+37qE-fBekl>nOW|C9u7cSH88x~~U z-xe3{4-bIP|IVLF#ytWpE=Se0)S>U)_7sB4^KS|g*Nb~{_+$cKlrTQizLJvafYh9} zujA;`5)B_^{QaCiXQekyW@Q&b<ohJPt{NH{`=zzCFFnr74^MT>;k6EtviGq&fojGL zxa54A(xXCxF0q$KiaG3@|1q#7;Tw8g61cPkhX5456io1r{lx(LXLWd&uQlJ7PAXEY zwOV#XjQc?1-Kjxpw9TToOk5L6?dn}_u)6A(RF|sO5W<n<XMp{2)cMElG2xZLzgk%I zJ?@fan~`o+Ms=JKh^$ZMIo(se7s2|#gI7nY#<Ej4UMq2P`F?Rf-RnGPVkAcZgN_;x z$f`|XW-=*s)P{bki(4I{m@ki42+b)i()E=JTHUcRWSMAUVB{Zw@I~k+zsa+;$*?VU z4r3vi<q6}8u2{KSZ@DNsw>lf-K-@Q<#6}+9`;XF#V~$<E@1>VD;;OuS0Zy|x>asuA z+kW&tTzq_PH5XkH3)h`At>-qWR`b_ed1nqiM%^LdS~zknE2eHkteIsO;32W~c$O-n z8tu{>F?j|N7oLH8{&5kO`yA!P8=df4^xJenLoTSM+s#w-3bpj(xiq8nO^P&4*L7?c zwfX%96^-qsoA&UQ7TO!fZ#8eR9@v1IdIIHJpLed`y|n^4e+<lCA<o(+)=qHBdAh1n zD04+)OUt(Q(HIuO@4A)ZpPf5gYK71Ingbe^nHzr+J~EN1UM)a)^fL96`ey<kYN%YH zt7%%Azsl(Ixg4LP0q+M3=I_M*@)C`$MAp>l-vY8Vq%N{Yidxw&td&T$c)~?wji~a^ zluqlyNT|7f{Rpo=F$JbgEA2M;`(&gW`s@4N++9eA<Fn$h1x|9LvWxz>UP&hjsEA^U zmvC22N45SD<r>lseO_LoKkT4IR1IZ4=uxekXe(J0m+l<-W_az$Fj=97-rtz}Q7{-w zELWa|u5?rH!Dg5<D>hcbp{(=E&?2Osr0l38T{w4@fOrctJi{%M`^LB+r4GU!qVd;Q zuTt3l(xsH0{d8|)!h`br)m3}mPH0M?I^uXpA+SGwk20_LVN=Q8o<+Gg_RmrI^IaG3 zkbMZuNSOn@0(Rs)b=xVh;Tnm#&Fnn;T^eOUYv%OQut+<>ZO8nb*9vEt#*y=kxtiVj z_W(22$Fr9=I}JRY8ayx9lxfe6Tgxvv+zq1Atqb%{V^8>5uzDbZuazA(a!-e33HEaQ zjRIbGv4x8X-Z=$up^8pxhO%=-2hZ{IxBuEx1*CF}^f~U_`Q;h&nS)La)N7Bu($P)v zJ=iBoWzx|D+sQ=)Wj!|+6230ppz^h)go7SbIs-ImJ$~-{9@M1dJ+e;K8(+P}>SV+^ zWK1A?5o=;PyPtK(VSb}rxh;Y0Y+%bzRA5A@OQ0^Mf;t>5`SmVYzK+wKTxgWn<PPJ| zBwQ?CJREy%wZb4Cm&<@uD#DAnrRKVSIoO+1S?bmR;m(d>HeZc5IJ-veRNV#>MzKxN zt|qJ)-Ky()W|{A)U?HIeoREPZg4u@{o31lN!u?Z7$tbJ~Iz;Y?#Pi<3tIQSz)EK}T zlwaFG&s-(TeH1T#0^yMIzEdc6&H#s^#o3~%dejk?k|+grlhhv!HilS)=nU8K1GvuH zlDADAz7QTv8s&fwCcQ7l+tE@vTw!ya^gAYj%zAe%BHP^I7$#Y0pX>*KfT6<X#Qwb4 zYV^VNCA;n)>yC?73z^1N`&&casQw*za*aQ4b^8%K=rPqk4FYIf{CXjcxSpy*RJvQ; z#54jFKQgqk!;INbG@9jql~T#mE(S9Fs$<U0eV98RGFLYwj;&mGY#(&}-B>8gZS!Iw zSXFlAJ~FkG-3y=3bG^^#y!xRkSAAJq6=*8*@IIA0tH)Swj7q}3mz=(HRmKWt6KH1C z-Qw?72kWWD#b}8i`t$pV0-Y5uV2foPuBXw?R$I4jqjbcvbB(r@WLD$#Z{U~s<8TJk zBq>0Ti&fGe<Kc*)=%WQ*JJZeg$Xw3f))cBU8;ead6|z4PZ6jVo$Gr%GH06+~xz<eA zW0It{axwkM&l>GG%|bl6b{60^J{$9k!R%l52!a9|Ue0zI#H1t?6c3+G8D*-XQx^g! z2<B}T7J-ZgX>$x9fjr-Pb^xr9dXw;=ss)9kr(8pPZZjw!kI$@o)%6Bg?VaaOMik#{ zzCwq}QS0;&rR+MEwELm*qH17)>Li*f&ztXAhr2-M(9IQN>+aWausmKV*8J_210vV& z1pB^P&T&YwGSd7@9*0z<8@_etVVg0WApb#FL_8x(fw6`0srA`68+&zH{qEMFok5Cv z0FZjsaUsvy;mdkcBo)$lhAH!r=u=C-&)Q60AvHBRC-#qy`+*fIzx+GB!@%nv@Aba} z8+3sWtu5O+(sb?yCi)`hlBQZI5j$!%MvZ*SD1t8?xBC@{Ck$n~W!-z-d#xOA_h<Hn zZ6`{`|917^o&Roc^MIT<_rNgK!>lnD)4sn0d3ZVqaqkY3XPj*Y<>*M)<LcivSWyId z^g|sH`zjj!OMl^rYYb%HZ)9a;GcBN9$MyP02SNa3#hx~$GQLDzF;~@`4n9Fo9HHyL zXrNUF08%CWcSReh?id>0iTjY$N@tHXg@A7Vxn7l0K~KMzx^7&;5u?3{eP!pJG>g@p zGz>Z2ZZA~qI2*Hz2Q~nx&zAmTO^2PF|Js}*54t7zA2%It(&h8s^}K&1`pG<)*QX&g zhSI$eij;!BLT0#0C)SDx;>^n#M(()BrRa)9u6)4J%=@y=*I9;60v~<}t!DL})2y>P znSw!eg<Ze3Io%JH;kn$F!XD68tx5<O`PG|fU~l3)B>@lTz|SQI->w^|uy{;sbpCMW z<dIAsNm-YQ<mkf?z@@og-An^NBp#|FH{x_1iu<*261ucK5j+xM@8@=t@g^Bd;($2w z(75yjQMFykd4=qvIGwk<at9u_&gj$Hq^FRv>whK3w<W(UL7mo%hKRL^q73TnD5`v4 ziSe%eENUq$3>3~9eGtmnYng`sVh(#ngBJMi0&wq6*&Xsd7C!9nySv*1mKO(I$`Xv% z?r2=GT!zP-;S@`tOi%x5^##sbqyX@x;v@yfg_Mf9t_NHgK$AteMvltLJ~+P?4Q=x& zh`AVIyiR>jCzieXB93g~jhHS58W?fhm)n}E3F-q6bLR1R{k?Ud5yNp2?*?k?2lT;6 z=sD2%dXE{Ta^fxBLp}YQs7IK#X-M&BOj3EeysP_#%G8P6ua|c2)4o3$lo|O?`d;MU z^oj`i<`fGV)jbQ(<ri{RBo-4qb13q+3ZxFgq2$-w=e6*#e4-~zM14Z)A{hkw=VR-8 zg0R9FK(g@$t*#)*?R8;>&rSb4aue=4Ua#v-T}U{}5^3hmXBL21pf2p<l!T8OKrF3& z`-Y0uPjg&nS@j1hR&RYJP@CYotKgb}nUVB<CdhPei^zbX)CuHL9+D7#fA+({5_PKv z{C!!H9&Nu}MH6)K=4i1`R(X{Pj%9s&s(}(l>~|`_8+(fpm+hUjpo+PHJUXYcD#T={ zS3aAEha>N(NR#i8k@s%~9K%q0t3x-*X+tlA_VKKK*UEEamB2vh%W0ioo10l%P&#K- zCUcd*fwrPStgiPMCpaSN);WStw**4&&p1S-vY=N-i$3zwHfH?Jb04IT?Ik);b-0f} zw>$9UCvf{#%^73ckw#bQBC|WNeAIC5IRB|AdXDem-G8Ek3{(o6GHd0$tFD+*>O5E{ zKD8>Wu~y(2>#Ft$3@Y*{_FzBFe}OeD0NebqTCiCE)lzNEatMnqeT2fSzQv>U0E5cf zWZa^XarztO;UOR|g7l+M42emb5`6KLRqfqBbffy|&F~Q&v+rMDD};IlWJVB7i&DP9 zVq*nj#1W*1f8T6gzdw3E2T`k+SdR!Z6(MMR^EKUwcHTN;HLbkFrse)Rd*{n5n~+RG z0#N7FjMzo}?3QzMFGR`UA=}9ib>3NWP}Cg8)rFe*C7=}t9SHX*)P6%}K=Mm*IrhDL zv;$;3_m}q%K6k4J|FJ?mv2?qD=r)%TaiesJk7=r6G-<e%{MtR;9#d*5q<pMX@(n}p zmT#YjsNQ4>4i@9$K9SQOA3RU<acJ1+1UM<ee~C)-y+!=y!}ZM4`NShirt%K@o?<wo zt)MeHsYDul=##(2r_LTVOWyR`hkPZayycpuv?SgsODx?&Js^rbYAjik<~0QyWyo)u z1M$7oi<e<lp;YV)+T7-6<0Ec{=HV)gH;7DEJWswHWShr@9J_<hiM!P{O=yI93*U>V ztdsQt3BOt$syAtJ1)Tj{Ov$(glUp?F!yi;(@;X%QSb258lJO>=D~{(b>Z!IPjWU6; zQMDY1l6*WBjDyd4drgkPQc@#e8ayDXa!Bc_E|}j@XiAlz%y=-?jY>OP!A*M4kNCy) zysZ%~LsNw^Dvh&oSS>QJe<axYr6XpE$B*bwChu@f?cQTNKbW?ryJ-h24h1N${IY|) zKT!C7F6H0Y>k>x>*xF6O?g;;(rv6i-{dcj}O&pDG4RZC}7?;k4?ZF-$Add$bv0dqD zfiLVI=H@Av#UAanyT?AKL)ub3b=s_gul%}@eg-#;(UN{weX-n~)cL4GTP^gTTRSQF z_v}KYbuKnK?ReMhfT}xJ{gaiuW%UEq&weD#(!S3oE?ez^5wKb%ZkK$AZ<dutjr4M% zx`?M2sm~cT>)gN6;b(O)TV;?&ytRGZz6w%_@WL=T0XTijo_!URa4pXbi0yvI_>gla zQbRw@T9%wWL@7$h6LcGl-M2Q}Sa+9Z42L}|+X4&{`j)#M=@3xKK!$d&oWw1}CyC3^ zPVYDv6aKSvVN+TZi)}6Udy~rVev~s-{?A(#lfc+6!x3FFjub)m*ed_58fT_GGxjys zi}FQ)%$1970f((ySJ#uaQjG4-oupki(x^n&zjE!C1LLL!60=s^Z^Ib_HlpV>I+{&u z#j7E>1tcR{Z*X}2#^m45n8!b^pFDQ#z7Qt~L}aeUVrWQ`>YIG?<owg|&<W!1(`SH4 zm!aW5Jk;Fd`&bRdRF-}ei4W4p2s-X{^dzb{$8X5k#toJ{d2~%BG>g6Kx)?y*R&e)~ zKh8K0BtA|)(qb4KA<^sS+?;V;lAHeBRo!i@KK!fcE7dn=96)35yx0kRrb)<!rp?{8 zCE23S#vRYiW&=k_KSW=r*L0Cu-7&;QcAehXG0?@Hb9Zu@`JGp_oUHh5#A^YR#=%l2 zS=m-D3)-K1XaL;gY-=68IA-yvRfsqx+T^I3Rc<HJ5F!K+VSbdnn-@+YcEDh9MQ?^y zjQ=BD{C1SEH)JT2$I2Toev3EhlCMH_Nr6n;<d6_hy+SWqhx$*h`d?f`CEE?>dUj9J zNXQbtHK$=Y5FS{pIZTv(3|)<*Vrb=V>h@B*w*K43zj06J^e)=!&35g#TyzPCcLP$D zQ~7?o)gld#h@b8reInI$i7rA-0$+;nc?r<J&4%v`h{@2O(p^#ib`3d80Q5DjscEB~ zipQSMdi7Pnq$%=IV~>)vPWN7Q_5%qSe-?Wwz2QY1HN99~EN{EkI}l@cj0wVw-aL8! zn+LoPT@dQI6%Q`GHn=O5(-bkiFP+(8Y{jZ4QP6^}ccn`pfPpn#%xT&AUOYdl>pDfF z_@f)};X3~@rNs_8E`o#*tX+0`Ukrf|rGAVtM}6(vS#)*;QB(Xh@lv;SekR@<be~o& zo*m5F)BdKa-9NcMla5=xK6!XYzjEg$fmjnR4!k^Txt2Y_aFM?$4(0&e=H`hsTzBo2 zWp8BK=DmyF9`|0oTgld|2r(M(xms;2a8n)NEZ9CY#(|sP4?oiHI4(UGZ_cBztu`Fs zC2zc*ZSJDr?!4y<z`xzVymt|N5;|^?N_ydAnq96Z_D=!(=_P8pk5R?253q`w{sdDh zXzZPN)ZKAAw@sOAXvf*;{I{(}-VbzF7P)2^r*zJoF`+Yc4cBvR?KrVWHhhBO?jf$q zHb1~A9=*=#6leF5Kpxpg{0yAhhwkzK_J>{b`*ZKD?%?ZD={wuHyPn96rE^$0ar^{B z<i^2ji*TNgh52FUVa&WskLaQ8Csrcq))T$RK;PXthSmv;nmAn%=NAu-&Fe&H5=+~{ zXt|5P54)ay=VOb25h83gq7sR3#reh9+W;Tk<6Wd^XwE=RPKF)ydG|Q289hCDb8ZI# z?Xy?F$KjOKxK)%w7r9?`=W~*F;p0|#EMl^AXO9~Y3JfWDmP}@1N<z04EVid!M9xQ4 zE7gmwIT?zm{*$pv05SrUO#!OGK$-?%dhd(3G@6Q836WCBJA}wEb33<)^xHDVN_o7` zaY6z2$qMkB^1Nt0#yn}E<G3R#)1DQI6*Wv?VZX;@RAJicRKsQTZsM<7%UyV9%Iwau zFR#3&{w2nC-GyGO16-7<Z~VY1hWi1**gvY1*ncQ}C;f9rcN+Y<^I=PTBYdEX>{716 zYVl?cIwQOk5khsRBbcg8UCuFKc!KUoZc<iuiain0d|i!R*@WZZE%5Fpvc6%k%eL^S zY>x^azqKH34A}Mcw3Eg0f6;B6x6q@`Y9_VRo+YPcR~=#*=jR#si%xS>^lmsCp67QG zW6R*j`LOkP#o>C>FK#t*rS>;3BN_xdjy;jM@;H?C7jU}2e!WYaZ|P*gc@l|z(YrKY zQ+?zqOP1il=pQ25EEyMx1=ZnNKL8%+W~BcODNan1hVWpK1Y`(EKR({C)_EYxGp9tP zws#j@cX89UfvloU)dtO2a%t{GD~W<)fU{S0v7k4b$>vx_HAd}ko6NkGB<@Ca5JJ_r zfhb#P(jA_(X+#_E;8Mo{^uUt+_-GM0WcnE0Mc3uCNrGDcw1kMvk7t2(JjL;YIm`mK z7q0(-y!t;>P&x>iKd0k{uqUScol=NT;2F5SF4RDUUSEQoH@Mc~Th3P>4n(dGSzH&k z(xKgLGj)mANa-to`aGurg}{AVtKNV7)Zh}~eg2PMAT_k{J;C%=7cbYbEkN+u>u&CQ z<@>3?vp{Gee99G>ejL|$AOtM~!^TAQ<TCMQSr{(eSHjyZk)>3;wjh>=%koF2hdsHj zyn}T11jD_c{bS*_XPMz_HU*a57Z)CH<lAf}Egy?w-@cSM2d=0<=+6nu6<FT+1%qyu zTu-&gp=RFe;gH90^J}a>Jmx8#C%VsFOl|x-=zkGT+&C_&|0~;b?xmaM`yI6fLhfs? zNk^ccjsAlD%BY_-hpIhFuRVU8J~sVNp>WT`z7~>eP5by{L&hx?59A}ioit6Y?()lA zGsrJCF#U8cMrM;Ohwq!(M`}mL!y>`>o(!i-uuthn?m5;;EZF&vSnKoJNdA6u`?z(F zu(*C!|F8C8u_Ks+ME11?*1W8^!0QE-yqgRU6BzK>?uKHm<|%?aZax@L#Yo0Zz_b3S zZFQzJu{!#z*=S8Q?-x<t4!pKjCdsAx(7J9;zIUz#y!p5O;VW$kEgBv37q6WgH`VDc zqk;x@6{Zzy^Jtw!xz<ft63B;5&-&4iKO*1$y<fz%$fdY!;N?rW)Z&$;o>siyG7Tw( z@K&#tX0_aqmX@kc8vmx%Nt$wBE-9T;;!IOD#r2i?;gi}|@}o{M!q<=0(dUzjp?XXb zBh^_`Yjq)Kv(dif^Td~<U=oB0E6m2K9m{tXezXV2<(i@X;GJdLlT3qtVS~Amkx13N zWhIqqWiQ=hy_no6sQ(K_|Hn7w)=1yJ=zB1uPoLOlA0@pSZ0aBb6;2?2k|UoxE?c-Q zNFFaLDM&b3^0wfa`;50#4Ij1#pCq@v=0B@-ubYk5s`c=Q-9KPXmO>SjvMAAK$@*4< zpdX!zE70;>&KilbZylMfq6M1eW%u;=dbZ4O6-Jr7wU$j}vU=%bZy1J^y+(;@#OUbq zE=5GO_9sG<4Bqv&*_$qWov=>#_^q8`7)IAhWxB)Jo0`ojk$n7(FR`!|BCk0V25;eW zUXGnHOv+BMg)BT`T~u{hMk+HlS<!9$o{;@{Khb+`9N-c4Q(si&yKm!Axici(M&vz( zPh8>5YEc2jzT@3b837F}+jZW%PBXq3KD;4U&)q!ag|YB6Q`Po`0*dcQ-LM`A(7~3} zB$cg14y)f?NO;1gsgfUeAuoJui|r?YQ|~vbQKj$ySwOXs?`jvQ1pn^=BQJi*XmDj^ zPNle^aI@#%qwTY&yj;ee0l~Ui>ue#%7>$6l6#Lc#wr^ULz@X&Myg7{AtL=Epu388D zb2AUy96f%$U$}&07k9agg$9nAR~Z7&UI&IOE@HSorHgOMH#xXb0IFLy+=jzdK27Fe zi0Ei$_FOuL`*XSz5RB6v1ia(g>O~vxmiwH@E3~PLOWo(`N}PQsi4nVTOT0`;G5hEh zc%xx;F%i%mR=#oh8u>D?wr<=kz}n@N-doc@h7$(zWcnPApV~x%3${i3LV^y*bQC0~ z*@bI`(V0ZB2AAZ!$?1!!Z%iCk32M3o%Vf$KAO7XGyb2UNzB$u}AGaT?6Qj>xph2c< zHyGl^4uqJDUUt{7*FgUe`VdzxkTiq#cQ&+wZkv%OvE}*RG2n5e<u4V(Bxf6!Uyx&T zleY4U*aEDe*_@m|_*7m)L23$;<}X;$t%qoxvLvTaY~7Q+&YdKQk~beDnomS!e)?@d zv+<MimEkRECy{0>D(M#S@f3Gt8Z75lg}6ZeDC@@`!Yj1dZz0tB!$Cy+2Akmg2LIls zmJ28nN@ftuAbsk)<hhf+aa^<9-!4B}!v_&q@q}}^4vn42Jy=KLWc|i1GT!1|FS_oL zev}1_MEkD**6e(C#VtC&ouCxI6GMT=`y41)*D=49NLG|Ogpd=?Y1gg3+e}+)|I8W> zEs*OyDzf#p42TQ59xgN>0W|M@HWaE0pb0k}k*xJsGx5G8LeLKr;+Xp~=V89`r?2(- z-X!IR><3u1TV0Qi4URU5s`0BVW{eZ&vCE5EqG7-LZDWpO1NLX((ChDSe;Zu^+#%7s zhw~^?INSu7ekRkHoB#KwW~D{6+V9cP_4S3{(H6>evuX~0({cB_pq(Mf3Ar`LM%;)v zc0u7tWfh!0lrzSnU{X{y5-3bQ!Rn6Wa|Z)4^HHB!@wZ)Bx9;RvjPGv$BI*ppBr@=6 z2cQX1Fi?Qr=Uk4{>?Faj^K6EbTWCV-g;{c*WNQ9V_Dq|f>)`b1IK30N9J2>2FKPKQ zm<RIJap_^|(b4~Q?y<)Ea%|4(I2gzBNqRc5j}IlZ`y2A?LUzj*_Pgms>h2JXsB)J4 zbK>rz6>lwZZ<l{L7-hJ>8stP*x0I`3xVh#~(=T2F$*Er40j7v^wMjX1no^v!9oy{t z5}?Rp1IhifAm)unhx6_SiT$!({%=<b1I*tItr6ruPT5W58_fjon%9f@INg<|muDlJ z2A)6x{>ws<XKTwI`J@5v8Wnil<1)@SrAM74V}d;ovUJ4s?!Jnjnk$+EwZ4j+Y_x35 z5<`p4+r^)C-C9aq#NVAlUAW6*3gXb?w-uccd`r1jj?!Zc3xA>%zZ|Aal&hFqL&DVt z3iKJRJ-fi$nec{Se{&4gSwL@{y4YopZ~{?$aw)H5cr(sMYx?_!j1uPyF2g^WCpjl- z*^LV#zv_j5?}Q=)PM;d<`2lRtw8s(flRmOlpD4@GLQGy<yLPgZx34$4*S$7K2BHO) zuS2knY8@QSX$%OvgaLBwWN;5|0hg{)R_CNS0gD%8G~bsAhdV#*7=Yb;4sn8(@20&h zPpmd^xb8&F<oYAnQ=d0EN^_65p5Z^yH@7Qw(I8{ma1_tk>pCC1Su50Tuj8|_W|L#r zaWvoYw(_w6r{j$66_PD_6MCxdM>v@dVm=f(U<K5cynI!?snk4nUuQS-+n{4B#Cwj5 zk?HW|w^l^`AF~<4fp>)b*bOwqMpty*yKLPZM^)OhB6Rv(S9`Z(k#%z1XTI+;LKVu^ z858MTq(ON;Un8!*Y`n9~6D@J1d&NbwbE|du>4c+<X%Y__o6L&H>pG7XQSa>-M7*x) zJo`dl;P{baJr4WIaKX6uyu0nkfu(33+V|SiVt1kx69!YVxOPWVL@$}z4nvW8U0@<Y z5}!^YR9*EqFv?{U6E)(ZGhGwymBCB?^%;XVnKQ@u+;+czxZ7ZO``gfnxxQnE>O=;a z&0>WC&CiCT_d}huciSO1<GDL#u4?pR*Lo6&Q(4|bTY{Sh>R|@sZ^v;&J6{v!yy3g0 zk2R~Fu7{m_%ZMYt<M?Jx_1jn&i1+voEbjK`NS;+KVx@A}c8jXJ*>G^{%-wDYX4o~b zrFSZ>^*9)KFq1f&;Vv+_Bs7!HlS|%2yUN@_$9V*<RmGNO!(sy<#G?y12JO@H()7KJ z9m<~={!Ww-52oo}$Kuwl|B-a<A3KS?JAUwmob6{L*5*!Pt-Y;(!QYhxzfQ)xdyD$Y zvhwU(UKg3O%xZKbV}OY1>A?aNp~~SqCy0Jnt#YBgnZe%uaDNUftq5FQb{pZU3lV*) zl2)OGI=0Kp4g%GTQ{tG8W&t-_AL(1phB>BmVh&!e-kEOv@!Ev97+Sa%qj&R4yxz?m z8mW&@OeFKteM4|Pdb(Vp65OSP&w1GPsAjV;_H_0ZOI<r?2!>^FlOk-b1x<Mq8>JK` zzl|^8g!N$XiC6166IFiYZ*Ac7ujj36?f**HYe`12h&0Hn3`%Ofd6?OFusG74UxQi0 zn6a{QuMA)=q%T9yBf`@eFfpej4^}P+SxDFi9T>O*L_k}uIy4E_+t%79SW#;8$=4yC zsdLXsW-<G77ggK9oB|SEu<#(4t{oxW=}7_E*VfXM-Qh0*wTYfnpSk=zurPgdf?mZ= ziBjeT@PUdl(%0jiW-|!`IVl{zbH>zE`i0|ka8BbwfAC&6l@aLgXtAXVu7{V(WQ25P z5?hm(a6KA$(C%FLE2`4s-{NmRk4Lg<&h9i+p3S^}R)*8c=l?yiAB9P<*U2i|5WMq3 zy%-il`7$<_GWL0?c9Y>5-3$D%bk>PX_cOZ@A4>5y@rJ`2uR^o;_j)fEW2nx;J%%Y8 zpGlnO!geTkzeIfu`&9T9B-Y(!QGYzqOT@7H>%#IyPS7Ul3BSWitK^pZ4_W1rG^BQy z%Ue;yh`8P{bkuh?37u-h8;eTWA+Wb5P*6#X`<3M-s-?#Qg^42AInxYUg1)N!)1J*( z72YXS(`{>lC28tM>JbxOwSvJZt@1vvFscWAg8$5h6!?Y5_mSinUzGdnGp2Uvw#KrQ zL!pw&nrSRCm-ELJCM-K^d&;1|VLR!~cTPg{B!)!4OX<}1a>g=wmH2D^AZ?hq;?|zp z-uX8$vFGVy-wicUuH!3oGCyf6b(-w?il1!VEzRDx0Uxe3ngYuSUjz(Nt)AOrGuK=3 z3jA3}&a>azFyL8LlNYoRk3Ifu_#OGRa@}IQc+*TcES8G<rJ3taDOL(?<A-oP?RG!U z{~jy<?|k_`2dBkyXlQ{{d+7Xgre3Cp-TU+B_ND~Vr+^?1htJ$UzSOjCXSF=s9vGNg zRS}64XhYH*q09Bw4%Mxu!gs1c0m$QJywlbj(2TDBR@>804mR#GOp$xpX<^#D8gQoo zhn$bc4=@J4T=6}q`Y6O>E<6(JNzcOsP!vQ1e!!JMnNpcWg}a41qJ4H)am2Qxr{C3R zl@mS}+%Jq18j)|=p*l#GQQ04<Zs$#_G9-mr;E96{?NmE4P62ijxIcfEA~)2si#jns z{YC>uJ~ibXgrR~#An-uK!0#&Yc`|z@FjIw=a3Z=vhmW5Lh#(DytK8cHojWs@+ws|4 zPZqT8i)Tb3=H12@0DH)R&AMJ!^6s%>3~bkY2ri&9aPMs1XWgmN3+;p{UcKZ;uqQ^q zji7LUnkPqHcc4f@r*9CS>ZhSN3LZ*m=z(5;=1x9cEYQ3{ER4Q<%U*nZ(cPNU3@j#; z+e-M02+KEEAZ+u^Qy?f<sQPYqz|#Ait#ZANM7}IP{4ENo(K5x`v#=RER}*U-ut7%8 z5|n)t8aX9n=`s{!;0Z1BK8cj3JqHRj05B?Ya;1vz!wx~`k%1Dk+{WbGfa?wv)EMtA zK~X}b2?brVQ*5r^+t}d=?I8Al=%=cknnlYo{Z8@jQ=U6j{=X{?LlZx?WXLD`k?<%2 zepAIBaqS#p(hC}~zI~F@dSk?%k7Wz7DbgCGIJ8RONY9W4)Ic}<DJT5kWkeDR-@_Ds zxAf-+BOA)9UwS33p>3oQgE+@m0@U9G(M$Sba^oF3Bt1@URZK9U0sCa+3tSdkcNFfH zr6aWNUA?I@8AMGi>ZoG>GI(nq?3+@VK0j!-+#*UGLz5DWBKDkDcz=@zdgWuN2`=|~ z_07Z;bOA?4*^_Hv)<6LUjX^7}J*B71Ja?SKy#`L^{&*|s*zkwD<LDbQ1*>lxA864o zxXoxQ^lIWc)<>Yf`IBn)7=e(Fz()YzTV1H+L%sK^Lg34B?9qRBn=Gd{g&FVJKSj8M zD;oOu<8Aw|2(C2EZ%G9DHLxL)jQU+W14TnCe{PQ!+0jwh)>Oe)KKrff_sgy*$7Z<G z9aoUsEhQ7AO~jq2I_QT?>YSl%E=9WOH$x+Ez>$M_Y_@Y}bn*My?fI7mHg|Jqm$0P( zv>Um~)mlL)F+)_Q>n-+?nXG7mdN#rA7kf?(BvJfCy4Drib&ix2!%R<)H}Z%v(bJpI z=V8cM!Tpe0S;*>CV8D8<$Le4_c0>8!SL`Hnl1}1@$_TGmf>lqh6R71_*->i8a~5FG zVcUMhyp+_tK$C1&oc*en8`<XK`-wQuY%hR}EF(E{$)Z{_%KPhT9e-Xxn3T_2e8vaT zz7Fm47k>nA>Msw_T42#~Eh6~^8k8}+(ZM#%Irr@rPm|a@Vi1W-Jt?YX&};P_JSG5I zX@3_159*=`y?FRrP_4h@4Z6x76K^7;T<IN&{KP9uPYHWdIuUvh+FH60qVcx%*v9>X z#bz|M__r|7D+vvrvS)yAW}aKRi08v>+#Mj1v`T4?TdJx86q+&`lnP_ijKF*bZ6-ah zRZuc#6h6NE9{;<u1Tv(Ba*K?@C9P&TDF)z9?K*v0;(E-g52g1M!<Jd17bgYBO(m=n z-PS3DnV@?^eC8+)hxj6sis4<Ha95zVA`_^;Y^?5X-(lk#kKBMdk)uxyh7P#g+xvdI zpIk)5C`#$P(kdR2wkEhes^+>oHfMR?hbYm(!U{VAikP(R&_Wx|=ZnKMuw3?5xvpm= zd$HF}7`8jz$HghL$0cF$h>JI$%)jtAA$gn|bibgPL=L+`XTdZFs~YCL?V}TJxAM+8 ztw&2OSD-_yzc{zFvBh#eIC^=c>BX9YLFj|0zc2rOjY|@Zgq+^Pr5{xg*RsUWSik&r zyLcAfXzd6E&dUEs*E>a58g<*+D|W@UZCh1I#kRA;O2xJ+NyWBp+o{;LZLZiS-`@M* z?OdGyZnpMbzO&6a#_WAOU1a5#oryie%AcihN0->*QP|5b{uT}7o%mVi(z@Tk`&#W` z#jWC`W`E0OG<F;wFbkgiPS~vwdo$U8_54}SzOT~WaP8Xz;(?$$R3&HS)AL3++5nrI z)8oQY@lrBYLk2W)43#VlukX}oN`ybsL+_F`FSpIdu)=QU{+pA+m44psa#*7k(2#bB zzhOsm@PTf*_Z7+YFv=~JJfNuNPd5JEU$6&`<cwOOrt>zxd`TC3fpLe`Q1=j48SGb3 z!{Rlay!BcgZI;{dnf+a)#&S#cU${X%F20-TI&$@FXVDBPTpW>`7*_w;1=#oJUbm?b z)+pn1Js0R((!DC6MG$ML1aaGaQ*?|_7;4l|!~!~j|D0xknjnx_Fx2Jy2t-#W9^fPQ zm8d7+bL2k}XDGtA?81F7e{h3@PL>bxibM1KJcH<1<aQYUHO_W<zZ$PKS-bJIvOeow zZ(LuBj_wh%Y(9C&I!xpT{1bd!?`s3HU_vM5^vr>MSoTDmHSd)@yLKTH@Ss$8fTX*) zH*P2SnLF82vkyQz+8*v(ooyITMk;`DJO8~8bjLVr1qG>(`{wXqHZ3RI7vb3cjbmXk zjGFEe|CFk#)P9slO%@suY{gBo6!X1;*6=kzPPvFbhyn`&6H7b`{~&MppqpvQky9$o zT4dOrsv3MphQ;4PcRD7m3y`5XU!!ttT((<D3V*FJ8D<VY>F^XR6>(h<Lk#gsZ%WWs zpL7_|@<(i~fiNDUF?70sEP!bp6MiIY7lAyUdrC$=3aZFtQ+`*dkV?Srt7QtHI>C_F zCAlYUsD%{Ep$``ZkFU0btEqeYK5TDaQgnn!Vj2{b$UDAc1K%xak{C43Ja)#Pci=k2 zCUBOzLj$*(8>xl$<5wVFQaBltm-M@!OO8Nur)<UV(S)J-Fc9tXQ8_~?$I)I-iUwGY z8rm>hD&(UU%g3pZ-l`JhtgzZQgamk;*>e*+EP96BXnKlUJ3pSleJ&USS^77TWTB^0 zF1dh)Ii6JvYk%E88Yjh)fVKHIX-~{miv_(=NzLBY{kU)1|8y3i!_&jW8U=!&?L2@a zeo0$2URXiFQ2v_6Q}Ko>n?bDOl1uOJ6;qWG=$onbwPW6WX5_Y&ujX;Zh-1OnawojT z+9~PZCcg8IBaGbzy|FRQrcy>v#sZ4e*5~>{q<}os&uP<U!%I?KIZ09oqrdR2l(y6} zb^i5v*~uMf1vybX#hcGUew>S2NI`S)`j{I8gdeT$!JbU#!O*`*VdrI>6idroLEe(* zVYn~Z>2WO?qx&s%^~#mI20PUX)hx{>o1>VVi_SU$JnrqY4A3I0X-&G}>X;g8<fPMA z3_8xWRxGrXPSl=;nkYSHr_6nRuUWo~W2DjC!frsox<cfeSm?~3Yz4L??7agnSa>S^ z#(Bh3scEw>wDLDq?_c%nItyHPJQ2sRmLSKb8(dK@1|#s}nc6yC^JfNLm2}zUcfcpK zD|B1q9<y-6)KHXT(lhmgFPM_zF*bz%w}KSLfN$}j*N`-EA#wng08ehjM;;^vl#(Fb zTe)beLX_^uIq~Yd!h<gt{-c#kfpN#_J-zAyZ#O1Pg+0Ji`W@b^C)=E5LE|<{1LER= z2t@T^2We*(OA}R{o!pFl*p#{=2!O#lXvs}rB_ofmKBd7veD5mv{d^%*X3~&0VtcO8 zH<1<O>m#aXfO>7!(M1<!*K<n~H4;%;a4P~<^N1wEBVA7L=w!hA?eE|-Lb=E3(PTAl zko{}rQe){1I;+c5OK_DRlT7WZKAhb`NFAHy?m$&2r6ELX`(PKjS>6m}KcD|X;jDb- z)_Y719U)ln;cHBP%$3KB(xFSVKTjus_FZ!(P!aGVKZrpxMUzvARin+w1b$ZyX2GXE zK|03yyjZ5@u3TGF<@M(cTGaSk^UI#3L_HF8GJvL17fTMK^yo&O1u3Vh{Dbe6N6jyd z%l&@bF^XNpu-q2Pf!~4URjlzu9Kh}-yxpaygE$=x#U=9d^G@^aLHI3b`Efar)orlp zN%HgRN&^4!9_Te_IrIZC@$P4}r&90tTazf?E9W<@A;bGxW$CnR&+Wnx54#5jiZiT; zBhCTz28~rAU!bz+f=kiHdf>1i+OZftIRZK4EZ1+g92~!Sn9R<l`kWrc%M+1oT%Wn8 zglw)#V<1vyu|0xNv5YeY6TzMpj`_Uh7E!_kl+)^T_X+~eRP*Jvr8<RC7I1nxx?-gr zkVJv51c_pt03A~gHqEJMk1UG}1yK+Zc>!Lo0|#*%nE|I_)PQhotfR7}<rbV}Vj;j- zgFmE%;5@oOVgZ$PYKn|xZ0c?vBXy=-Q`bz!QV8ak?34lyOT6>bpZApY;qZ*6Iy%lv zaO2k!$Nazcz@cNgm<*=T#FVv5gBgRBUQ%HO1zJ}tGlsMw-Z+4a9v($7R<+2@A0MQg zrKGEp;KhT$@4tXx`i+y<&m2h*atZi9zqKjDbl@1ujDG;6sTx{0*&8sLJ(pbxh56pK z4bO-__k1(9Kfkh7n1_ah9%`XbBDso$J>+@U5uX1FNM-kg_fqt{Lz0lffelv!c!Gv* z0;VC3HF6E2#)bj8m)MqX)5Xn$rRaCeZkTqS2``M$B7~Y95fqv-qS+P1uY%_$d8)l` zFm}nN4O`00Tq5<=hdyM^F~#O5w$31OJWnYv_DLxXXh;jXVQJJ_)hs9zA=WT4XsLU! zC#KwSwL$vGf;gXP>F7+gAwnG(A2k&*A!mVv?)!k;Gaq+d<g~enVob)$XRho;4pSq& z6!RhG>oozWa>E5d$u;g3!!)y+m=86dN6}=h<K^hQaPwA$3^(c`yJlu&W-STfB7>rT zaBl`+7@0;_O+m9tmm52E-SATlrM}EpkZ<XL>3Xj_FYV?_%`pvgMG>$LTl<2)9KYD* zxdC3D+oaP+7IB};Gx-tB5uWo}R@X+AZ%WW<k|V#e_TUe5UO9|5lJk$1LPF{2piKiJ zz&fUG@cSy2dQRH}{J3L?Hu-%-1qU4mHM!F7f-QZsBzAUiye=Evo@WVk5bT6tQ{=ME zBZ6a7$s3+RT#IkePRx>lRPUj)D$H)g%!Kt38iD7IZRV>58Qu*>!WRoN1at@!in=uf z*ZEnj=D7Gk)J*^bc1K>Z>d?<lb_;?d9|!Fv*vTU*P4>Yk;z(c!a@-(8kFa%MUXQ>i z6Z^GII#;SFYa!W$yTQPQFS57%6yqf+II-h0z<N?s%XtfJ^JiO2G8|*ZkomC+#B?;7 zvhe9~3;6`>UP~d72p)mbBUcCe5Bw=ss`-<p8VirPnGIj!d)Lc?#Tw?lWO#*nDJagf zMT9Gb+Rrrv=Ju-;B4b>Q!mB6#E0b&@ZI0gcTEv{J+O#*-vJ`YzKZ!f|L7LI=M-tC$ zYs6F!nso*url{_FK1l`H0pr8NT+_1~Ly^y3s~|^H;e(PUo?h`pZVQ|4bV<0XNH!HZ z9?@!O;3~o1BEdm9ih=?j=HN8E<Ba{Rxnkaw3f5o}*Zb?%mpiuq>SOcj5a))!`<DOY zV3>E3wJ+M{BePns-s0l3y!$2EA>wr<`+eo9H2Y=bJS5ohVsA)Ldaqr+PVW3s@&v#8 z2EQ9M`}6H+uk*^=_6@}R`G~NYlmp{+`V@1PMnJ7f6w|~(mOPa5wp#tJO=s}5R(oIU z`=XK{gA7@Ly{%U*&-a}FTKx64764A@Ggtn{%jz@4`WBS+`MEjfv-VYZ9V>6!hJqJn zvsrp|+ekA%AeQnWe2QX0tdytrYr*8up4(Dksg-5!)B3u2QT2Ys6k!)Yu~1oK5z5d1 zLTU3+Bu}G+Qo#7*7B#Kn6JLN}FiM7U+~co1u9o#|jVLN~c;<DA{}~S#4vvN8rEKr_ zgO8G;0)a!>#6J(p4NSMP+7`i$#w|S@HH(YJaN!3IuPH8utlMGdYMqu@x4eEqHHxV= zqTiyN*v~Xb!Ahtdc19ae`qtqk0*u00T=L^OY(@K%Nux^E?E;)J!4<9jVmah618C8e zvdgk%nU0hpyfM*7=v1JYAd~GNY+;_Zdx}A0c8!N>ydEu!SO8_3E8~Jx;51gvB<wBH zli?2~cH*!VMZmpq_y@f9c|Gj8;NMHfw#)p9^@db&*jicjB~E9oe;rR7_Vn3r17D;7 zBWso0dr3MDyR!pwoyU3SQ~lGIE<2?iz?ms*w__b2W=3(bb<=A&3n-lk4KxhtnAcHM znirZpgH((bK#bkJC~A}ojy!6GHsK5Yno1a5$3)e`9?urJzks-HoE5}*v-X>)QLAPp z3*I$r3~H@*JLqs)sT^}EH;o!>F^!^MY-xfLyY=_5s>phAG;x$a>1i;^ZxAC^)2($> z$u;b^S2m-Rp_4@rn69|?>>z!7LUX8v+M9Je@6OzvmPTm~|EDr9R=t)sL~53odl+{o z^UkP-a(_c<zWEC+>|G7qd>_wTU~o-k5h!SgDy2GuTm$1{8?3u)D{;uqQ1qq;;&Bh} zPQKz1duZx?ed?fB_nP9BG?6AfvJHa~9=!W~tveIpLBVSmy_RUg>v`cvTljvRVh9Y4 z?U(rfe@mwSt(|U5MuG<%XHHmdJX>{6vEi)baAR6D|6Uny(~6N@n)!W5&e75&^zNW{ zL5Xq&-3$*Ne4%-t7ILFJ>yYm+gD{PT#Ud*bew|t8_Q%h3hHR3v<A!gvwP;Ury7z7) zM|CtsGHF^SZDpK1yR}tcMezVk7_3!uD?Q;JMfGTh0#I{#Wfcwse4f@e;XN%b6aocT zt*w305nk)y{2ah6NePz9wEf7M!JOa&Xz8_WhyajaW+cfc|9(rjNAanZ=rB8xvL#h# zZLIwr47;y&K?1=kM3yz=n-p-1nX*H6F_e?U-fIXELHs`5qXC;j(x2}Zz|vA0E%r3l z3qPy#B1${GB#K4R{%LEhe8_9+)FV#^W)1)M;xO_qWzQY?#A0G&=v667bWYg=iv`(H z{b#gTPfQ(?gWxEb+_47X{13ioyRAUQldKpG<{rMkGP8De2S4Z4VTVcQj5tWA8Gh!^ zwhp0|q=3z!k$_hgt<xC;s8UgSTSyw}$^tYI3`>wvhPbRmZ{0<f_5BMWhb$r7M)y~n zYS}0nQn6VoJzaP&DD5QmU)TW}FdUMLkammG>NXtAU<Y)jw<%(xxoz8mLo*XJ=<wj$ z-}YCblM1aLhlb|_;Y>FKlu@%XgR;v2&X~Fh2)$+N+gWLV3xTVbFSzF7gl|RLO&vfO z_F=TVO<*agEsW~+f!YnGm-MtAyJrUd=fwUBK1BIcL@p;jNt7k&Cqz!+kGg85m*gt0 zkf9CEk#QiBYRhAWZ6hIcFrZ%pp+VVZl`47x{d;2e)AZ~<f}WyotZ>6a;u7awjy)Ld zO$tnjb(<W<p%tK(>LTlp)7hRTgg^CbaaGm*_D<`<l)$ZQ#Q>cqCFu~%PzDu89oXGv z4z(=G>Tw}6)9&9tsK=I{XtFSclkZ`y0w@hD?G?S%m#B9$-NiXOh_8-;E!!}d(A)UC z5f_!IuHkG;7DKp?c{!Ot5%x8CW$?G&Xu&(3*Muy73x-jN_Sqsk-UdR6=i=*lPmFr@ z2g)`m>*B`d?QCf%ZFJ^=F-a&><WN$BU#f{ziv<TCaW|bg0vt!1_J7%W^!%cy2?k|R zFt(MHH3${f^I5a>Qm-%1RhP?Y49oqjlyd4mEtmIeez%`qZn5SEgY{Ebn^;39SAr?( z530DSZsxhonyVvYfLOe}u|Cp)dn)9Vw^hcuOg#KDYvbiDK*yUQAyrY-{EZN0!~<j1 zJ>Cm{Y!vRNI^k9Yo^|3e?8>mhMf|RLm1Bm6QgFKRSh0ltcDw`DNrC<aXV0j{ekqBf z-=O@&xt;+z&1bREyPodZkZfLPesj2lr6j}x%yv)fy67e;B45Q^IaLxeIDxCZm4ItJ zpVX)xcNehdKll<zFK7*lxj&5Cc+CW*rpd)D7zXk8tSrPo4_imIThd2><N^=5gO0Z~ zS1VLqS9c4t$^8VkW#Q_Bsq{;VwiW@iKf*h-6Y@ii6bCwIz)zk3KNf&UBC(-DVw$SZ zv8esO58&E0IbOoR!@1FUSzWQh;ym`GaaNr&5zH=86Opts9K6TFw0!3sv87o%4`X}# zWri9s!{H0^=Q{!`gxNu5JBU7(C|TTN>pa+$WWKlmB$k!%1B!$!2j%-lZflmm2hJ9D z{%}pg2X_$miq_~th+5Zep5G@T)+Zh3!U;@gL!jd!T+b8O;LJ1Dd(6|=)W3T02IXAC zBtbboBqu83Ctws@H5em}c2oXaZe0@4r#g)F`i^6i8tHhtPl-x3tRpiz2PQCMFK6Ox zsP<=<=T!R^l5g)BN7ot35}F5xee|?*ID8PDbXm>u$8KS=KHiePC!@ZcjhO(cLT_u; zO?yNLMwHB^Lng(Bp2i90flBrZhJE!v{LwV0l`C!fAz&~6r{~qsHJw;m5q#<wP+<JA z-Q^<eth$>?FcWW*Ged*g=HvL|M0q<z7R*EbzfbmVLiiTx{k>#_Hikd+#6&lxY&+$c zmvN5YcG@&1G$7UfjVn#2;|fl$uu4X=ke;Ib;!)4b<@GCSj&IgZbo|xTrfCQoA4od^ z5fpx}Q^cWjZ(W}FOb|6v54RTmKBl;-C4!C508bmQzFZOM)?Fh)?w~|8&Dsv0w9T+u z#I%TNhDlQ1B2rdIW6GNm-+@p+363x2|7T;KCasnFTZcT}uPH45(vgA;(-DxV(%&($ z*ie;6Nv0Qpxw1jyCjT?aslB?2Syj>5mS@(Z3iNJvT%Q=Uf6`BH2mF|@Pr>r;i9NWJ zUUL0B#rkRAAaBCQm>2uC1`)Fqus<07&_dbOda~tW1ZbH}n=MWZ2$}4xHF{Hb$Gb6s z!J1Y5DO9z=8<(ra$^0ir7QRh&<lp(=aK6#ZEKe}hMnHe#&$Ze^@pP%+r5h!dqW)xG zcy4NHEqRrzKg+~R0d?pgxiB)%l2i@ne>l9v=Y%03+xJ<cCpA`=UU0udYNg&=k8+sZ zI}@<3eENkl974L8S8o0w)aIZyMmnr~A<a3OOs_Ut2;31aRc5kz!%@hRxq_%5RaxFn z6)0n&+ZYWoe_jWt7{c~o#?W;&Z3CYNH~sbI_G|9pG(MZhLv8vZv5NMLVVAC@G(BW7 zt}!IY-bOmd-kO!T<?)i|Znd1I+0dKSF{P6lD)R3HKT}j@@<xDPnV-xUPO6Y<bL5E5 zi%SRgvg^o$iC$r}<(j!##mue${iIOM^<<kg{@S!hT2??394>eHi09slL=>TF0EhWr zy6??1kJq^c1Fxf=?)BzZg9<TmLfjC!N#aypB#BBpY9T_m<tw#Ql+7gic^oZ-?z-u2 zzV5ac$uPT8lhYOOY%`n~DLzZFF%SBY)B5@GIu}%GG@o$sTL7=<Px17B<mdmjZ~gCr zSQNe`*yUYkafo*3(3ZP7aSZZWSH<c_aZuWjiRHmzaPycq_k*6f)jJhVELO2iR=tM? z>yq5<WRdfz`*#QLEJNPhb&N;040r8sV-zLKKWVmYm%$iT)dH|MIJ!*fEJ=m{KkvXc zDM`NLqTz`1-MI1jmkDSr-FMGI;y(aAp2&2GZOWk58tc>+(RdYGwcRCZ#gm@{YP|!5 z=d0m{VI#n<jr50k=YLfHzGNL&(m!}|nu&}kYHR>aBfioniTV-Dr_`Ozi1?TPR2Zly z2Ian@b)YAd1K5t0bzh_u{NWf`5*t-*t~*Ti`r3<Gs8bYtMk@}<w{`Qut-J6O*0^Rm zZy0)ffIYzJ9PU^AMn0yz+MM|dK{3zKuB?!Y=W96;BE6dCWrNf~vAS>9+C!0DHu2_g z`3n_Hea>qPegzfgo^lY|n&x^Q)H%j$${+5d0{$6m)0o1~3MVi4$)ok!2F9rjv+nEU zr^`CCz1~@E6YZa3z2K8^qkET5rHnrpL~eTCBhb-@{v9T+z)Iqpmllsgsrh4$a{Tzf zi$e%N81xuFU~v9<m6WhVPJ;eK7NuU+8L%`hf0eYTHwCHf+eTgRM+fFu^i)1aK|gkE zgT2NQRkJkyRe=sWM%cRt<mu9$G)&jJG|~;t!i|twgmOP8$A6#Qga9y`l7>K=3us5a z9=@F}`~-Lcz!d}3=*rw0#1OuBfFn_l06||@>X;B%!!Nf8BGbIk<MamP&p|1TZTZ3^ z`<H%z`kQL&bR@?H{amkJ&XhHKBwtYhlGg$x0|ABwwtonfVvr!zBw}%q%C%0nQ-B%K zy`k?k!XIx<pBi6yRrl}1K?EbDTL?++-zASqP%3|`+1XF!%eAATe=vEMexnhD@pB94 zQvBEHW$ni|jS<kt?nYjUy!WE3Pf~6FJYPShRB)Wjn0_7tOEMY1MWEiN_7ZA;kV`ZO zh-3;gf^rHn<E&^t$j6Of>_FrB(=537y&4mQm``HABRR?&JUehqV{@F$uv>!q+9*xy zH$E5tXGuE!CfuRm2Gu*hK&IVIQj`EWZCX>LgE$E4wLp?gecdG1d_>^@tSqf+`iusf zV<kS*kXX_O9a6*phX_yScUc6MS;?Fmh7R@ojQ5UY$-`q$>u1y&XXt!{bJ@RRPg3cn zKY{I$Gt6p!(<HJ%@STt;N|%+h)ilykp#h!0Fg3S`R`r*j2k;rB@dO;-{^UfJO?RN} z0XmyJ2~jls47fp;*d7>#gSsQ0`_*+(n@sWY(;9daI>ci`>p9?IB8}FWxx<6>uT<8X z!A!HOO~tj>HsB-*DMD_;H@ZQ{kMneNTP@A~GMGK8Lb)2T+@UM9CH4A50%R`IKPbYC zQ)!Iw1Wta43t9KZGroksmO2lyfo#PTj-ba1$kc`Ra)zQ*cSHjUi&bCquL!%#yg}%; z`-D$(U0f5o>L=zA=9{Hu+XZBpm?_Zfix6_ez*$633%U}XDofczx9m+%T8&BeNw|51 z1A;Y;>2$g8bYK%Z_<!Yaw;4rk>5^~r-FQTQb7T6b3e_pJ+aBSG*kuwv6&NhWJ4E)K zEt-prd05Q2yqTW^3ktLMXp`97Izl%c3abZ|Z?D_n!AqUMkyOCKKd24lwgvN%wGVsX ze8)AJRq~1CMo9(twKD0(+gznvOVFlvG)_-C3LM0d1`sjJv=e@We~PZo1rreOS-`*e zZ(67k+>-2QZ7wP8k95J>-p{Ga9S(3>E%jRyw=qKV8V|5qhuQyg4(&Mi7_t8+bbJ+w z&uwh|IoC>c)4Z3((HNcZ{{47_eXn)%CUZ04F3)MrnwX5>`4mi4zxcO)u<PYRoo`wc zJXBO>Rj0n^MWd_?)ToY4E9InsqxXaFlI(2Xo=harJ>q{vqn>-k|EV_^;ag_yu^#tw zvdd`^^8LchxZ`!wgHU}nads!)E4lY>Y}e7NFSf?^-599s1UaU_`=PF86U*~!e{&uk z=@J|nfS6{*5fb21Frnk?WLVIs5&o$sBf;~hHqyg`Tyhz|AMgISuo(E>htd4fPc9!1 zXA>M0n)I%%xb&>5>CJPIp0v|ATvhwGgl(rCmVWV88<NLA8E&>`KOvxdHNI1}M6f0M z^xwf6x6q>`tIIy%%dH(3WQUB81-{u9tdZLzqjAOb^AL5KN;Bu%&Vy}V(}n$k9Je?% z77%`)=@XS~qF6T}{<w%_#XF5d>x<jI)v9Yv3N)R&UbCAe(+j`RJ2uN~WsBjUx2H9e zu&Y(C@>1@73CmW_xmEXY0>x%^p_gDzU-<1-{F5eq0%`pkV(OUEfOlr_TB`?U+(KpA zaX*eiZ2hhFx={dbg}>(Vho9MF$=yQCXf|+c`o6+UKLr(CCnkMX*sujU2!Ls6{e(|k z+)je|sO_*Z(2S`NzM4DDlGGB~)TBR2z^Cw0QO7PCY#e9GsVu+0tsce9GCgL$;y;;g zaKEy>Rm|7$NXa6gB&J!X<xWY)t7AHai=!>>{nH(~4c;W?#)x)3nCJ!cIjQwyd6vWT zG5^>%mtLG{-@WnUaQl1-_uM-(c>AqdB)PKy*AYUS5C=<&sfw5J+~BgO{<1~M+TlWv zpt_2>InS0m*!y`>oE;i+`9*mk$|aU1FzhqQ2%F#4YaSn(9IG}r3WsJTn1;A&^Izas z8#Ul!&w&e42J4B;m)GmO(VrH64Y@D)34V*9w!?T|z(CZxBi`QLFwW{f924S-8&Q|{ zyFba_28RB(wxHM0(O#mrC-9;$f|gr1vBwuRcznq>EFBiDV0Xj7#d`<AAVQMZn`5f- z^=U|0UJ(ju?1VdjR=e)k<;(hyn>J@Ft>0T%+V5N5k6)&V`=uc$Y+XACqb%n-w*UY7 zgjY~dFgAUv?S`0;FtSi4xyA<i8V^sJo{iB}5Bp4MjMMoB5uiE18O87V6*ezo?f)9p zSe?^|zhPsD-%JAlKm(?oE8aJjnJ(X<>SG=p9SL}Yud5amGH?|96cPICZlW-1Yieya zP0<P6Gmw04C!dC8g%rkq%ueTsPOGL$PeCGaO}*CatI+~1A>H9~zu)*hjvmYHmx0sN zbo=8dLJ%l}X^}YkO}JO~QltMo5X|vsT5M#(Mkxb}S#%eM$VonclEsjn+xVn#SZ3LF zLhx6r8R4Ug{~0(r=tbPqa#t(YK&I+)*+*tjvH23=NM(<&%~6sM%BF?ofOCU&0Yg<n z_Jb2*1l?{Rf)uP_6>%!>;mX#LX+*GQqRIRZ=67|_XzDd$9$|v9hrs;!MP*`Yae4|r zDS9NqMW@BWWx)pE{GmWg(o1Eq%S)`^Q2o*{D0YpsS#+p+aQ5K7(F%Vn`7ZMO3N{MG zSG3)zf7VYljbVr~04{qWE_BEZ2(>PP5uLl%lm@$@>R`(e12-kS{|Q@JG@_D^m9y2r zqxL}5KdZVq4QfTU>p=EU@NYn-oQ~QFH$=O)i~nO>KNXlEyD>Bf78g4(SBGvVU!&J$ zA<7)n)jtE7t_nK>E{=5Ikw{&UPEu8pFnWko(RaVfZNG~n(CdB)7>FTzWG&*6sDpmm zf)rh7Y}&3&epk?VGQ6HwyF$H2!Y5WCxL2gU;5ve;xlc6gybln}S)e!&^Y?3^JLLfA zEYK>}P34n6UFIVtHWpI}0@K*qu7WA~3&0~93Bhhe7Jv1*ndWr0bqV>ey%%cE%9NOD z?h_ZwgXBL^Hj##Ns9t2!A|-I~RZAZ0kf)}negmfxZ56wtTw~7j&7?bUU*fmgnp{6c zY=g8RqGw1RT)D(b`1x(ur{a?NCBw0IPW;#+_M&{;QXr^u+5t}SABAdlHbeJsJ2%)5 zgp4oF$u_<m!ea?xG%b;j%@^BlrtPif(~@fn_Ur#*EXU%{TT5`ro&>-yphI3jB~Xtl zTd66-_R^F&F6gGQ>*4{2*BAs@?}6}C+0GB0UgmPYrgg^7XMogsU~a<wM5_W=YM>bF zIhbXhADe_{PLJ&`0Is2&@<A;m0X#&O$?=}*C~Q!~;s_^~PE_n+9xA|f7DLyGp#;3+ zm#9w!7onY(`Mk<WX+UixCEJ?*G2Qf9ea>(%lfr{}%`HQ`H1FliviVpR)*c2tBjc-} zZCMll`^0-r+Ypnof+T`q^l|K;>;~+K(R$SfhkSWc#N8q?)Q<39DgpCRtZfI_UX?R0 zQI45{)QJGqZ;Jm!NS3})5*O5^-J-rb&i;!^cwMijQn)bqnPy)jD)4gOTO0jQ>C?eI z4yc%9nOqEh0mkqYX;AB;3puD*CDlq!HEU<daNj4Xf>127kF=oL6l8fdN`}RSO>C}H zP==1FfO|b8d)0teAZA3KBnD;^WQkft$?0x)<gL%+>Gpw^Tg|r#=xvCh52-{f*kq^q z(aaCSxdjW@PB2-!O>a8L9*DU+a>3TSBUaL&PlxdUvq@{Z!C`9j_@>S_$?2H7{SJsq zXU1ydcmbwL$S(8k345x74}ZEn5CAAB{qy1HX|8hoD~RqaB6@0;8En3k{yaPmBFr<P zcsB#_R^06LZyuVvbTQVZKrjyRVM!l_zIkwJ$Xyz{jOJKr><-7OGQ_n5zDC9DgnPLc z4*z-k?_+*yopi0y!dXAy6URmV>_QLh$=uNXk^M`>o*4*zPlC=HC%RT78eML18k0Ur zX$$M}QPAw~o_q_l6?UQtAH3{*>`|0$)cu3bk(0Y!0Nj#u^kbCggXj=WAO8mus}JAf zYX=1AEN{y>A{#W`6;elt9-Q=+)W<oO#Hh3THJENfq*3-SeiK%;NSPFDadfO>lrR77 z^5f#`okR*u;^@CseqSAo;d_p78timl_AGT2y_NC2`x9KnPCpl0A!NI!1^(TytLs3Z zD3F0|y2u<g_qEPdlcb{o*&i`ko+)9f(-1pc8%t3(FIC_KzN_u8+=bi^b1Fg~2i|{V z1ni-71jW~}2c&J`-)6BTT%)8Tm5%hulM*RTZi7Jw3O0g{dKVW&<MENzI^24MsAO|4 zVB4k~NzC6lW5Uh5Qom=rzop+i(7%=v+xTh@9}`s%n(+Q4w1UNy$aWzuaUl!e1MXGg z=r;uX7?;&`JVR<tF~|MkGmm|pokmw~;&Z5XDx0MB7j)t6<5sOKj!rAZ!c#t&4jv{$ zIcCuYNx^EVcPV2G{sHx!31H3S<(|k%U3OncLCKs|q(hBGoHTaZUr>K_3+5V}T!rh; z4E3*p$IidkR_xH-q;Jkz7e3E4((GvF=y8DEpq*O(^T8D)Tgc936Sct4T}Rp@(F1DC z;P^qPb<#W?aXx^l8*s|7t6EkAS5dA3Q=woAQ7S=Ns5kIXNFcZ72mVuMEajjehannN z-P>``#<`Z0Uqd3NwtpSz@O?JivoAIH<}KGbL>gh!9Jlp{_n)nTL*sBAcP%{pfoP2* z{nZmrr4AkGvIe$;)9$yU6)~Mw*g~|_YUavfVm7tVA8GU312g0_8|$v-cg<1x%K=#Y z?<)SzNl;n%a!mbaG&$#84}$h5?ZRj>lRWfmWxaVi(O}qDtz?sHUA$%JA!JeASOy=n z*@wo?zZ@cLMyW6nY%7r&a+09E8OAH~JFbLz;yxt3X=6U$m<jn8KRmb;EhS$-gG&Vo z!Y#D#OUZ?L;cPLzrPAQv$2{6w7W98`drRwIl-6nns5=I|sH2)-Y_kJT5-iXB`{QbB zlRC!st{e%4yeKX^A2-+k&gX4^&3ujqH6k45#p+a~j&DVScV5|azdt;^Z+&`0?g4LF zr@Wc=ZuqdbgU|H;*YWayE#69$d+uw}=k&ERA|tl3a8fnL__<5Q4sT0W+odjwnz!^b zTcC!;|7j?q-So(rS5L0Cqjy29Q|AnMX5&lLv_s(FP1Uu;UK|`cA7$e24sv$5>qrFs z*x<Cf`Q0&2P9Dd#CG;r0bd?}CQ(5NB@_3?-hpT8clR&c|PnFaSRRmcXsib7srzoZv zSP4M{28pVm6<Z0*s$UamY#M@-sXj}GNRiWHn~0s(mMmd5Z#*wBF7-T_(TSZfyWyih z{M`_X3<oa3;$S^{^zNMedQuRZ`9RmIIMHd=-@)pF8Bp?SQrQHRrb>abypY!kO(HO$ zHPeZ??g{a*1h(;O+5r#nzDr*{Qh%snEezvFh#>VOPOlvKW3XnEuzxSm&=mqObi0x` z*2#fUiv=!{XN1rgD7475h2ilGF->lI9C4cZc#bbZuP5%9eqWOrsU5f!Q-Dqpmo-|# zIcCK-tz%bBY-NE7@fV2^5s8p>QZYDlpkw8zEmB<{>*F-JpGM-2_I9?2!=}mA_5({` z(MFULes@+#TXre&h@Go2$1uo%hVFn7nz1nI(g<U~8=*vvDYbTMK3FJ_22dc2FyYL4 zB@_*)KM~Uh#kn$)_r$uZ2#;BPvSh(?X}`AvO>A651;u^}K0DEjG0>PY^kGyJ4s5us z2#>T}N2pIEDYPw!eyc2Z=q}noayx(oBn8uH_i@`*ZXhU~gJTFr20>ysRyhau9X$Y9 z7vzNxxYnw}@<fjubnOLry=9e@#J-}3zHg6v(<BlwND~RB#h!$-LAz53zaXZ8sLupo zhN%h9Up<&|*cudkX0Q^X?K~)*qb1AtWy6=X*YKr3sJVr7|DgWP2I`(*|Ao9*1Zg37 zg|kd`^&1A{*;U}vHiQE5ym%oDG~AXT3mGKYwdoyLt~yHaEfWRlvs*vG4`?NY^}*?; z9kB4={16yCODQNyXzeO6+dQj9J{k~4iKvVS6z?E~LW?n7JxFphB_O4&hsL+q5;y;m z11u&*ihX}_4?$wO*704pud6FCGbhE|{Z%OW%^i<MoMgQ6;k7n&A<>Ei{SLV|X9buN z1kX7~pP_kZ@91FmZvB<&C69}^tyI+Hy^<$$NiCQN2N^XIA~^88xvSs3)YU8bcpsG? zrNTKxT!#T@f+>gHTYxaY&L@9KfoRYReki-uXO4fU<nnV#+!9nZAu`1Q`_)E-on=*0 z0~96R(_aY>(imCnWOc0R#L-7vw;fiv7EueRgIT(qNe@lhoz%Im`4hKQfJ7{MKmIqH zks9oXb+iagP54bU7Ki1I0jW43cqq!G^_W>L5r!m1V6m#FJc9hsw)jp?q%@I7Tx{2D zQj8Wex?h48%vx61^`w&chd(`I@sui`!<*5T;sFJ98#FxAt*T2@1mjnz%pY|Q7pjsv zk;E<_{xE-2I1#)<G;W?H%K?Z)l5=eY{@QX+Pkj`TC8{yaErW#FU7ZruKoz&%ER%mc z+yPJhr7%zWl6>~_@1AZ75qk-;oJ5!Ar^+X;yWfqd5RQm_F7W4&lLR4QwEL7~K2vn< zy*t>cJHYf#eRn}?tz{AQnE5W&X1rFuPFL=fQsl~%9sl8OtTEEio9+p9YRp+4rsQgW z$Fo{qKl6SOM(En#%jbpIy&S!|zN_x{f6Xz$!6#sTZhe>E5cn^Dg(po9L*Jhvj=Jj( z#JA^gxcZhWBarbw!69D0t=7*?w`(f{vt0IIDlc-Ij)Ni|tEEW`B3=UK&N~NzPFLTK zyTw=@KGrBJW=JAP9QmQX#$`j<i1O4B3F`P-v9hXq44yTnpD8PXI_1fZJA;ZGCG0b; zJ?Y=m-5{-piFQep3MI0@P2l5Cf90>NsNgRiVIe?M0RvijD%*1Qy2Ih9Eunnh>W|p_ zN`rKa{#A*j;axLa9?o2<{JE|ut$)zPv*NCnY!Q@Lkwv!y4fEe%Va;KV=9*o}Pm-rg zs5lj|`8AmcVntU(SRZ9cvKHruasCO<cgGTAxN+<?J4raIxWV~{)@)V6df3|w#n%8D z26Q6)L<kz)Jj6jj!xHbG)7Ht&3!-Xe^7_@XlSZH+jsoWA27ktcMSVXuKvp$5C|Vt^ zZ*f+}zoZ2#{L8K#<ri34ThC~HK1st7w%RnLggF~_5mQ})#nA-vPHottUE3VFEw=RW zUH%S|p5pm7Mv?CCR+ir+7AcQwK=$k2G1gG{7bNa2yyUHytYd?YxH?kBd|1|?wSIf7 zV$Aj0Qq0N@ZiV)<;IiN%4#<4Dm9Ol>h@1k6qRXNAhmv}?1$O_8Fz}{2Y6o7i4FDO+ zeaaw|Y9IU2-#zf32;Y*b6BZW85fo1Oqs^+x?DTRYhe|gPyJ`N?E4Jh26*b^xdbbE< zh<G-PHqXobfIlrcE;|S&xo7AQ^lKM?R_wa?CpafyKgWn+t?ds(&j3o>r}THuJuZ?% zz5w#mj%r_=yH1l}x3@@GiM*x)_gYHDQ?kVQU9;*Ljt29aIf;(4It9N1LU=d6Si1I4 zJv#Q+3-9*l(^fY<8lMrfYP*8M|8O6~Wk_}GC0+hyjpd8-U9|48KCH&uUnO_<<gG*! zV`!fHT6}B9!f-x+Jr3*zPGhFskqp!a7oT4<b{yi>hYpq`fj1?FTVOY}(T$N~<`jO7 ze&MR6=yU)5)vB<Ilt=v1ple!R)AU(t*ifTOH3a=!YZrWEJw^1Qn5e+~#@u6&``JE2 zN^GSi#vaS<q^20KQJ9M#uAeCf5meHC^`T9`V+Xj{Ie8kE6pBN*n8WT4zGCpwQ*_1Z z`=a3gb?rRUI{|&R9%Y4_XM1Cnf8N$t1)ue^ezht84@b$D$K*4ECMU-)C()BAiJp?l z76huCf@~e_^c~BzO$dx|IF*VOM^{xD9C001+DwV^e=eyxPrP{oR-mEt_8p}%<+A(P zcL0iG0+q3tk+HH!*UZ}xPT-79N55W$5+O$tXxvw&e&zQ3>`Ew1pk?3NG#}))-2_<+ zjH!{O;{R1;1p;W5f2-Kcwtb#HdXrT7e7?qtro(|0j8N$b3d-FosiC^zIn1H>++%yh zT4OGs%wICg6DSYlh%g;+s=wFx!0K*mEB7>exi#7~Urz*9XiyV9<NC#gqP#H2iV>%d zjy%n_>BbE!n|A%WcqJJl={a&7Gt~UVDW7KtyZMdmqcX_>zumcP1U(^qeqr+LHfTze z>E&&Whsmw-M7mCk!nmv*H$0o{w$f4zY9#C|h@h1oiL=Dw@J;NHjrTC28Lhk4bEsdO z?QdwAYI8iRW~eVsnn&=4_e}!5t~bb}4bpa8=!{);t8hHL`>s2esSmPK){0k)Wjb7K zDXWjo&{lgw{}>@3yYW8NaH~SsZ=)Kb@J$JHs)Y<H^19u6VC|fp8sq;w45_2!%rzRB z8`LZ5KA3zY<kLBftGlo}WuvU}S}HXiA&s{ik41jl87TM4qSSQzojp=M_Yz#+pBYnp zq>=T!WD*aZl<l*3@Q~Q}kO^q<it}0;3E+tLeV=sIDnJDK1QdcK59RQ*;)6hm6mGyn zT`B&q+hW|qOluFe`Zz%KY>Wx%A8WELm(_SV3ZM9@hA%{la+7eX63A&J{P;lYkh~Jx z1I-AbN80Ojexy5LSkdfvs&qG-@bi@5t?{<8b$yXkeMhl?;{)R$ERrW=etor;LU=ZC zy|m5aXdzb#Yi27c<a$!LDbSRk^BV@9CKhw|3h7uv+=oq)c|hTL>di<K%{`rjK;aVJ z=pq-d<vCG?^!J0cSY07H0hhRZHU@UM*l=pO=YST0N1!D;vN09$tu?Rwy}vToi1JI_ z>oX<u?cPnV!B%>RuMDqrI>yI*e6*MOYS$E-XS-c$c!Sagt;(*ygaPH_oOmYI$l9Eb zi<onF`+qEe)kPwyG9RaQ8z}!Z<+vmZM%@&zA#ZHD`;aQU@cj&30BYFR^y>Bow0Q(D zH@83OCKGy^>&8iE?n<~FghSYF-6`_Wb-QyDc*WV~VfxFXi)1~_S2g;w`$ew^I~Ys) zZUwSH1Q1Pi35Mx#%J-nJtM$eFP!<+3Kma&PeWI9S<d%L58$#U&WVTGC3V@YF4>0>x zNkhDQ9gfs%%wH{o`P8)FXa-<%q$M(34uU;O)HqyH3jDPN4-w=9oQ~|Z#N!QSCWb4X zCQC!MkckJB#MxmA-ve7T+n<5H%?#>AL-{a~$5~pZpV!=bRS+RS#A~~Ov_|`tS7DU! zrYnG##El^q06*~v&l2IK{F3FHVi|v~k>5p95;Oz3lLAL5_`vuR&9=F3K!LWECsyWZ zvbJ+ECwR_13%yu0-t<&#c%g$j$qtpOOOH2BPWKT)Ddu^rUfba98_hey_}*+quqSsS zr2tTl#0g;iga_V^Sugiv9Lj6~cqs{NhRUgq+9j~r7rdxMrVp7H@ixb}c1vkvQO)KN z4HR*-F?Sy0DuFIrMDHZH_gkc@+N84kTu#e<r<#$qiRd4dGand5(usBd+1W*LXqWkf z6^6q(yX36O)B>pUyh++_m4*NIGzoD%6p2dTH6w1@KU}t;NvJ5S`>jcF_4prVZjV>| z?Wq90Ei9D(={Qe1p5L<dn;00=k`m7GPFL9oRQY%)`aDEXD4wNisV%ZJrL`_Z(+upQ zX&O9bne|~URsmzlRX~ULZ!!rxN=_uXVx&N{F&-OGfqxiIAdL?qitXieZV9t~02{n@ z04T(qy-_g+m&D64j-0$?2_sWlUGw{fXYKK{Cy{?$W{ZrzwXvoCjxPN-!hKHwH;}20 z5&!L*g~18!CG*s(x72ypK~qY|)q<=o=xzJmwcq^n`jMBp9QQTLong}RB52uZ)AY`? z1YUV7@UUrh!29|uk~)i5lcv35NiD_Z;Lt)w&}N@3{UM9^_#fwn8zM?q_Len<b+BTR z)PljBC~GdZ{=~n4H?=&Anei(_B)0kHKS$T5bRs2Y|DKIPkoUx_ST??^^I%t*&%l}* z*;ge(2rzk0(xIrGwBIR6=67J&<$$fpKU)Gfre!`bxXlKmRG6Pqyi~uH=J(`*B1TaN zq5SrS6#C;8gc7Tyl9>&@E^W`t5f&R`XADSbvjf|s)Dy4kKw?>2urIGo1PqZIiOczN z?2Q_Y;!5uSb1Hedu*bIwL$M4c?oMp+C#pD{rRd^z`+4}&+5}P`Ej1hwN>+Kt)LM`* zBpT|-nd%!9LC`WGZti)t$xrkh3B`PxZyD0PZj_v#N&N9lwUH`Wtsyh+i*U&&vDwPN z(0GIAVu(LU6#OSiwxnp4itm()an6S!*OJ<Y`A*e0meL`^$*Z9chJ=<}f#G(NSG-&O zm*PziIvelq4>piJ3I|KMNTMwauf1dO-HhE+Z(P5M)X=Ua2bFHRJ2?C($Ndhx2Ok&H zgA|Ib(Qu5rd$(~XwOx0$)5O?;$^77yG)M74;SKP9RFQo4mC0~vo4qPN9s&k1fP3e| zn(Iu~+pLbbP0Dw0i<<x$*m3^7Oh{SmEWAl%e28bCTru3$S1;QYY~}0n`I>~rg!)^P z+|A&fA0y$NF$@w8B7>Yx`aTENw7In#p0v(_&uoEs?WaQGmz*eBci74!kDoife-p=z zo+}YNB@1Z%T6$<GX?@nV_)IV6Sq#$pyNi9guKG_frads-W|}Dtx+iAG1d*!aZ$OWw zIGL^iRf{@T5zi6C4@PH(+2a^ADW#ct3Zx0nlqsL}FNMAd#KFx$?1)>q$xa|{W^C>I zb|3R_)SP{7x8ds|Q@A&wuk<kqQ0kwt-Q+Dok=A|&ch78hbe2RREVNP8vG8>je!+L; z7kMfE8#qx>_{OJnl4ncGF&*@C#Z6C3UE=~aga&!jB(M8Udl@*dM5A}wPqSyn%J!Jw zW=co<)o23Z=87LB;?u1Rofno-;LC7zx9xXb;6RyZSp<*C_9Ii90wc{=d5>Qg6vMWC z)SPw4QldV-k3ZmWfii82eFSoIV{HXuez8vpTn%1t^S?IB<F_rHS@jn~R(Z}=hW2>_ zQ$jX15GLer<cplyYUP(fn+>W3WB>mAk=E{F*L}7U9dCA&8k<D4mPrX-k8vKh3ufe? zwfuRDHrV~6*2;*(9Ff6$e353Uw1Z!PA$*51r1EDJbRNO8H{G(O>*4PlDDA9=BG0w| zg1_@Z5wv%m(XFa&-5(1dOMZh|c~*dG-b(uq{J%7z&Gic?Mx#uUjHOy3JDdr3Wy0Od zImKhsgT14DdL2uCGdjjBfthpFyMaCQ;`s30%7mSV41h1vAT#|E)@c7BXHJe`e1ULX z8eWa-H-Q-rQ-cM)y)S!n!mS^@$X|amAxRX;ZQx0}SgnJ}Ke<U1h|eWqeZc2u)8kpu zguO>K>3*My{W#RmZ`(f`D?vc$O-=N=*aw@Fxa`;`S8H<dg5!G@>4uUFdIj6BZoTiU zCB)v;&YP-3OMz4+7IfiIcNkRPx{E#ber;@dJ=^-bmr=|PW6_Ew;&Bw@X>9l`4cLV~ zIv*eW-7fqg{IChJT6HEc{$}gh35MK>jYjfMJ}fhjCKQ8m1&a_<C&`K-x-%~ICaq$8 z93*QtFj7$wx)++s6LnFG$zO}UlBC8kQuJLJjkZ=J1^|mjBH~8^KjXi&)p^zRc=-Cz z1><L;loZYoc|^3`<#{R8{`R_c@aFxvlPMIW;nKRre$CToX(PagO}zIwn<5wpj&=1B zWm=wZK609JK_F%sbtGtXem|cDX7<*_s}ac_NHx_zTs}1z3jt$HJ9;({P8+h*7e$>N z^#yyi+g$&yI}!_<-mFX1iGzMO%7`xXE6eWr_B#$w<JrM-tD|{_kT;)42sChGFx+@y zAU)s8kY*HtbXf68dfy5CSBX6D6q!JWt-_tL=60(Rgq23#wGbxr)iTkP(7O}EG5+85 z>P}kq>J6NQLVADPG4End(!3(`n_~$jo1gdY3{TCz&-C`&2ZF3)&obiPf!}#?!sM28 zu_5re4M~(jNyX6JUFQF(P#e<{y@h0L;C7A&mCgW_d{H4{_rA+)w*<_dNg6vHRi*Tt zd3!)lfj)MQx4cl{b(?$;q0$<bW(IKW-ZJ=nc;w?hOTYF|eFlBgPThq424VBi@eOyL z?LV@P=b=2}AZK{%;9ln(1QS=3PQbzWBuw|8n_*oB?K+kh4d!V3giZb|Z>py527K}8 zu4T6y%A2I-O;o*zi}hRxdzVjt98De^;O*DBw7KCnP8^9;u0BwNZv)w+{2LhY?b1^a zYx;7+b(3&ICfSe!&=ra1zYkDBj^f&0FB6x{3uEn#)ob7T!ofsh(rXMB(KAOErZa_2 zf{7QfM!&$e1{-IfuWAZ^hoO;^1nxVXZ{3r@pL-xO8eoWzVGX6`+x8<&*+%!lM8`Fg z+q8g!H9L2dPkUmDxY<KJcG)Rrj<qowp|F2+y0Qu&9K|h64URT%p>I6;Qcl)YdGLfg zg7$Ax<`DWE(L@u+rBnBCe&O(sPnGv@&lg=u3JRi_7a;d{?Z6ny%TLM~^|0e39Gi!> zYVR^M9p<Xo8&1*R%uZfN)plikRGG*#bU*xB{GmZWz#H~BG>bFvWEA6w`O3m$FGvr0 zVoIE9PK+z)#ggTDdV^!Ck56T@@p51LF)NcFey=+Sn;!}mK@iYBR{;$dMz)-Qc%qg@ zWEADHvoZBTb~^lYve)CtGqLkQd4}s-6S3eI=J{IW@NvIn5WUgvTHi&z`yY6>xt^t3 zrN194;LV2}@1NJwEO(!^yF`xu=OR1Hbas?D&8j_aV>K7_Dvkv(C(@q_`s0DsE{ab0 zv1;_{vYYT@@lp5n*Z+L^^5uC~EuX!qpT??kZ8l|PY+120p<MRKm_R|kTGPpEGi@rH znQ;1rCdrq5VUOpnrRB*5FY2*WD`#J*9RmZ%f(+$Nwe1Rmm4Ud3AZ(OFmx`|r6FUnr zaI?j6#7cmk#VyWIl{Zdjd;w0SEX3iYgtxw&#y`3m&0ZdMB7PDtg!oQ>N{+n0kj4gN zhGU&<Pjap66fMb8&@8bWyusbJTOp66i|hI^(XFzYe#iXS(xa{ZSl|HX>fXVS&9qNk zR(2uzQ82&geQ6~B^@Eu4<u#+B(TcFMliEVdRF_s9f_vNQOZfWCUefi-qP05<-G>@D z3)IuT(q8xs^dt7sqKYefqhC@!P6yI%U%wwDc6(`i!7taZ(j}5hep9od{2?UmV8!2c zHV{<SnbEh2A(-a_N+mC6u&%ym@IG)6$YT!4YyS4DPL}S-E0<8{WQ{A_$w9jcHr;y7 zH!=KI%iCH&=yN<dPeYvdx>%E&M)1z;=sU(`!cM?Pri_#VXm7onqqo%Owt?l_`Sa-3 zhqG#js!h?!`4u>7<<TJu%*if)@^GV>g1K5#!&smr%8WW*W`mpK%sS^#knh`de4gPo z|AE}~!Rp*q-bCJxYJ2FSp%DG!=9myxOyM8LZqPDT;sMCrM=?z>hbCF(RVJd{V4rV8 zr$V@zy4z8&Ro5qpw57)TRkb0NRE}3gSs(o*sef_uJ7$EoSln%FS1WRzk1_`OFM84? zX-zqZM5`&q!_6ag)!rkb7VUl@SmFgHFkvXooTBLeu=SNOaYgOAxD|JoQlz++!QEYo z`xGcv90qrHmm&p<L$MYs?mk$NLXp9p!FA^HopaAkPICXPWdGU8&R*+T?_=g7vmpiv z<%AKxg_0e=DKn`JWwhR8<WrnOly`f`RbP~Mb#c~6-cvT^!!w&h6d$*_3W^YfkU!QM z9nUY9|DE&sdZycQgOa^J+oAZbl4#n!&iDGnw?-e~PQqrVMhT3Wbw^iapD<-$$)4Pt zLoE3IW{scyCt7OS`Mkx^MMdf0K!9-4A^Pd}&Xz;b`d))+$1&@oF?nT8_-X3-&xDwt zKkQk0qC-VL8ZTH0T{;m8eJ_04DG-8lNlhT+O&lNVdKf>sP$4^G2k>J*qYlA0vJgs^ zqigH$1NagC+B;)E!%2|4MFKe=*`_8#>bcGTaM79vL?zZ7m(-&3Wjs^IUHf(x-h^@b zwsdh#;*-hBB0qFxuNN(hm^3Akb<_{yj(cfY`0jx6WhkDCf?w&bqn3g19|7=cVld<* zH-EeP%P{C%F-YvgnztSHK`yqma9G%dX3&!maD?AN*66R4Gz)e<XN)zx3LL=o1$2B0 zo#EFUaqF*I(sDQlSvjs<ZPCTHZd`Te$oKuQyPJ~_*Ov6-k+`9Pi<k$Tu#X`>?TnIJ zZhNWgg@N6fAAbj5gu6}r4hm^F3#V2Mk-=NC5#K%jtcqh|KC;~B3S*q#1@NyYXit0Q zg}df$@?$c|TY@t7@QuF7R$MTT4}Y?W*?;JQ@A|}qH3&wLalK}Sp9gUT?F$95-<Epb z-iPzOEJOd)6G~gz2V9H<iM>t}nL*1c0grb<+~%Oo337@A%ajml#Cs}aO|Od|gin{P zolNUq;3puH0`hx~HB*}NM`LP9cMjNQD-4*we(ThE+Cmi@Hbasuey5lJHm*<1{E(fL zJK3Pf@57Itv+}m%0ZEEKus+Wp8`NmXX7~}!te@##*6bj&+<_D}M=(RVoO}C(cL}nR zBcPA4d%W#DlP^pW&x+QccQ54{ei$_n*B{T`X9nMZt-T|>DNA`1d|+BwxB#lVU>HA? z#o}Hp&LPRaGQ6g{_<ng`GTNH7MnCzTWx~;9Vg+rmfW%d-=HP7jtM}{D#tjYcMX?aX z6SVIW#NT2X==^*V43``#$#mq6>*XmP_f?XU`&@$Z!#&F~mj6Boz7)(fK40oK8}-X= z<llJ=IOs8XJ8|AFY!f+P9J={(H@q(a9f8L8+}D?iw9yA020!>F7%P;z{L|@BjEHKs zi)or6I0qd&L-`aaO67{kMdjZiSzk%s>^?#0UgF`5<5Y{T3Sz0$F~&T8k9rBG!Q$N) z=yb^ybk7bPRLtKcRG#a|0SU0Bjrb`8bBgn)#^k{x$NIQj)N2~<SR>1GAMJ+1=|XYR zp656441Sb-$mw}IdzSTgXuD?MTU;7(g77z5dqU%{G4b&5Hriddq|LOeB}qiLUA@~5 zf|`802mM}5C6B6HxP7g9)FZmJUxpxmSQu?zAF-l6`Pf_eAxqd~6YfVCQ6VA~Qvbm` zw?nwF>yX`$BvB$P&NwCz({j<&B9WEcPD4S`&ifQ}_HaMx@+>lohq090IJ!Wr4d97* z?F2Cm8gX_5gI_$a>y472lb+WLXx2#Ei4>g@Xojsgd!w*A@Gwj8xld_QKOGstBY!lc z0Q&u3<Ul;c`8>$Q)CY`S+Tu=vgoK6*%%Vto{~2Ngc~;$5bvOy_8^w;oD7s%B+1_HI zO`0d~xVF-}dIR6*E=?H0k9dr0mjC#C-XF3@PC%jenht+8b+{_daSGfKgnu<#q5npm zZJpELb-W1h!WxK1t}oj_$T@n{-`%KP_xAhGj`NduW>|^}d4m@1`+N`VvP(Ch8>akZ z@IQ}wg{-B%D9X$0FXtPGnSOg3ZNhf9kx!u}5apKaQuRYRYlifSnO`6tN_T5kW8Lo6 z%8Wj>q>+*w7$sUim78b?Dr#$1=L9^M{L<AwDO0#F9aJcjhl&Q9_=NGkOkwe7()Slb z#wPd<F~S$VuydB}FV-=<C#;%iI^=M)Y;O6!BN#_1W`(>SgjV`we=kx%u0nmf7aJf5 zVqfL&C|209NlH-NcVel<j8A!^)^FXRy0*9E#k_57sDswi&UI4MBSs58f1572|8$iz zd75Lq^IPhNd|oNA%Cr^au+=B0^O4$teDmWy_defZwgN-uoo{NI$pqkPow7MKwEZ&E zErn7UGwWB0n878Ujm9(yx1D0Y%6N_m{vHyGaQkj4HyyjWR7qE}6L0;?blu;04)4}l zU{>MxX!)LJt{(wKMLQ4KbneM&4D80vEWxj7x0acKkOjXv>b-Wy;r5K^wMDo?wij8a z_ZRM)hChlX<6g{$CNvFooqNU#G&}Y;C4WG(O9IBiE^Nnte-4+x<xlr}-W)_8o4V-u z`+COh4>gl2ZGKlOrjDhc8^U(|X|nu9oHz+`sSm!5uw(yZIZs|8c4*&!_wZ85YF{@Q zhf-t@>8nBgh*aVgEb+$)bA3T?JQ$`~Ob?zB*>JLOvNO$_cTjH>oWEivzJKp9mGaI| zN79`NRe<bW8T$J!C61sFA`_LmcJG1^Q%tto#-DTuYK4-V_pD!C`z@ep6K|TU7BZ{x zj{+X%Uj%Mq&wrNRd)GHu2#cSGw>X)XR^D4xX%*y*8*FVA?KS#xZur?2Uiro^EDpTs zjuW)}66j@{3f#LRJe_Sje=UYaaKc3pKyxe~EAdF?>lGu46s1Zt6z05IUCEh~NAA&W zEOC}n0h4P#9R@ZzZLV(!yENVs?ak+_`NsRz#h={rTkLU<8zyIi2i0Z^4=p=D`Gq@0 zsI+eYL*Yz<1U#H1Tge+|iN1p&8-ZE-zGr*;zQLow%wv9w8eVC(GhH3%0Qzaoe{gI! z&3~QCt-6&375{~6_sB0YKX$g%auT=_?scLC+E2?gV&h^f0K=~KeCu&GBR8ZPf8QM1 zS>ND*hpKB_5)ozYh03i^poI0Cs9e(g@%@c&Y>KS*?S#<-y2WT-0pD=X%RZb#0h}Oj zx6x$S?u2?%IOLvxbp#EP0DZD}ULS!0pFIsUodPE6<hq4UM7JOh*shC#BLM|GTW?DD zv=QoyVsNc-4=K7WhpaPRbDyvy?a6S*pI$3O*M0X_F(#7uh-|Nye=KP|!fg{yeBXB{ zQ5~GbhYG4T$Q315xowJgu$?I~h=GOATD$fObA&u4_ka1^e!DMH5dRzhk!b|Y^P;M6 zvi$0=mACL(e#2b=(b2zcRBX}ddb!Q98v%@Zi*V^5C4ln*jFLAtyDo5xo(xz2siEw! z3O1}coqT3&-@s3VsP8AKRP+U^8jp8hc%!t3!cZryw@M=IQ=;}T$ML>s77GN@%7&#! z=)y6y5%ev*<rlP1vb8{qw!*=I4jH3}&Co$vi#U~F15bB}=S-6eY(;_q$YvwxX0V1J zqR^rzNZ0f-NtD7f13JeM;4N_r61!uXmI=1ejKgiPo*K_7=N3$o;z8<9)veg(z=jJb zpfFt^hLs9SOET1x)|*AJd>AI?57%ZM??*9Ttn4WD=S{_ZmELlU(5ndn_6yz9`Kc*- zsgLvW61n~c9<6f^?@Qh&@{aKmb`5|6e89sOGuHigLfZ>{M7)i6zwQU?pN#|V_hH%` zD?c%9gl4I=sC~SpGJw6(Ak>Vbc~I-NZ%?p=*i&YVY&}hkM1RMfn_3@$@|?DF75t5u z`;J>p;0S5&=t9dNzyGtfWkYhxOGGz|C%hCdP&hKdqQ#Fh3MHRA8Pd+{{h=`Mva!ug zT*W!#>0{;Lw*TEX6nFuk@$Qdda{xdD&A-HD3kzHK;3{_B?f%a{=<l9Om+e5wtJyXf z`g;0XDLua!BB_U!MrDjEcaANk1hx^uP8HA4QvZu1yKbj7DPkNkrtzzS*?A%A3ax6E z2V@`**r7Lwp2nV6mN-J!-y+s;!#Zi9a&Sxtcj*3yVwHcyJhH9zLv><fz(3MGisMme z+0TT$#Su=OeEXwh$hH7*cVKWqE6zhoj$^pAd$9BBbBHsZBr*I!@|jYP-!TnHGv4)w z+!%w)zQ(bf5-j<s)EQu@`F!4U%RVdK5aYzin?RtR`x(Wfl+le_fiZdA$3hLrGmA>p zWcx>@+>dOQ%7GePD|tZ96aYF>Gfi?Ma0tr542fcOag~!RkeF=BN_1Sz2M}$`{ab$Q zWrRK(oLAJ}v>lY-KxOG(jIb5-<?LD&EjJ@&U?*dAZWr`zeI^#=E<{%&j0kKThKVR5 z!X1#Q{+Iao+!I}>z^|`^a4zh-o^0Np*D|ZhqVCWd(&SwJR(Q*QAF==Mto`pr?;SZ> zQ@?By%b4UR!A{lj(m@WydaUrb7HE?DA4AhJ(P2{##n<nkGqFXG3W+>6;i+_Tl-;)% zW0X7<I%2xQrKUsde~=kdiFtM!KDo8DfIV8UHH#%w?CZ+o#V%cpcD1hunuOC`D@5WI zpKo)IoWc2fy&{{RAHt|Ydl`w-^^m&>3VX&W;%!O*(*vSzI<!rAgRK|tUT=vh*}g_o zca88mlVkQ;_njX<B&SN8j@le;GQ6uI>)i}=vq^DRnPze_CHr*QI#Zn@w6f9e0%Kbc z6#n-iz}wu}VCP0O`{&5Iu!cewk>rp~p(!#rCACsUhs}1iifNe5#sx8rL_NtF2DtuM z@?tXte~8Ph+YQq*diO@|4YU7;bjvXnQ3f^ssE1NQZW}?-2dw3~`KRw8+fUSrMSRFC z8}0AyqITV30=ih_wP`F5<j7BZ^PLhpf_3gy*zNbZp0=byoI)C1lcmg;70;_J0SZAO zsyWC2Xil+aVvtF2hN6fBWaYz0rwT)|Q6AHZeeR?Vl;G+w>KeNdWGpnHEx{5KFZ{b= z?;t}2(<;)#nuEXgY5}95(G4<Ki}R|;ovEvi(J^>CHBCoh{<4!_vwA<Q3G?f_J+_eS zxPqa&l8o<)4-C$GmlD5d)4K*03-8)ZHKv@)3Hyg_EVx;{`U0a?RCINBevbO836sJI z!3uHL5_fD<9I3OE6%m^I{0{<RD&VmKhS6WG#zfye44{Mgds7cRw8s1_BiQ_{KRmSB z>0(h!jm!0&a})I5fh5!o*j68R1E*zL*6jF2kYN1T9z0_+I>LpsxS<O3Od5mo!->id zt=g7?DewJGl|IWc=|sN2OaAz!z}{kP`DbTJOP<J`^Hdf0cfE}I)V{7&@4fW$jV|<< z)6Z#8BbjC4Fp_PA<C>$j;j0Cf@;>3^5cY|6V=e6{c$FH|*$h+WX`JXh{t{F76Y(mg z#d6kehL5o-ABeu#a6+b#!TL*1vgwLk1Xbbpj<KRuetAX~hhGp<(=4~>>2nDN`Zk_m z-4%W3awOc{lUfBQ6$%f>z3YEP`^=)Q<A%M~U)$TCg_bna%KrWrEPWQ_nbCiS3#Ke` z%?<Z%V4-mZcs#W1@V)PGx=QAw9U>wA#}4f`>#|ip5%ELNJODyhHXe7|9$Q*RhL+6f z%pyW9+FU8jTiHv-D2@Q=S9_7m10tR1$v0S7FiH3V3y>1E$8OoB<1Fqzl@8uWPO0!- z)SIpQ-U99@c6+bOJ4+s4FLrCmG4#8oCm7YmBPN%*q7<AkG`IU^d%Ea;wz60+-~t#- z%yLH?qf9(-KJYtu!dd9GuWJL&g)0u%(Sxo@be(4!f+)tnOuyTBm_c^)yJM%ex7g~u zqS_vTZ)qyPqi(2kC1|<DpIrmanu947lL`~;3PG$NAO&5pxf2QRr2okRV7K?-8Xjim z@jH-Z(2PLtpRF-G52HU|n)I*OT7~iz$=jRYO_vs(vWRuB&l`7_77jJ(lxq%uB9(_J z0l75j#50KtmNq;+O#S|Nxy>?}jIODVUYj*~EPctS8km(^vFO{hgvw`+TpT63O_5{| z{V}kR9t9;3(A!LRx&h7x7~x|qMG0oCfknY5j*TdIcN&&?Lp&vD+DlB+80;2j`SCW6 z*@JiRi)iZsL4)!Z_-g%&t=QcGKWM%vf#sF+{LpiSd&F6qz~UsiU*7W*s7M`nDmZO- z9(NafAH7}vdxPXEo|I+cCA^*{fu;4!2z@DgwJIsWt6TYiflV~llqb3ADHxUwNAkxU z4zPY_-XF3#-}6XE|6>pGBl%g*H2BURn1n$vCESUCA-M4^XjG$rC467JevnF2oM;~O z$sqf7#F=&MycaoWc5c@#VD-oS0Q};&+x<|W8)VY6^WvA{b^(>pV5K&z)<qV9gq}8< zK}eZ&*S}vd@~`;`+1_+9t=(5$jl1Pk)>C_`K;nT6Gk?6H0So`MAen3FizN42+1#eD zF26qnz1C=8s~n<3wj_U(iBJrE80M0MX~LATrKsUG@KZ8iz$Y>9Q&Id@uiIgyw`2*_ zk|cOUZjh6jdU;9O>ughho6f7~Ztg6L?)SsOC0k?M0ZfI@YuPaoGchld$BEfaamDJ# zKqO%1G+*HPP%jX!ov|1plV3Q(4^zYDGx-6U;B;fs<{+&%CYsmvXgqz$2Eq$vc@2)^ z+f{_F*{%>wmtveQ#!K&pf{15I%Mkax2e<yM0$q=ku6bcpfW^&W(X*s2n`7775uVbK zTqS0V8v$jLcQq*9%(lMFjqF4N1{AwN@{y7XG*R7@qCtG!mywbqIW{6u2G}E<KI^2d zJ^N<7ZLR=~lVzGB*gwgbZP8>!mSI+t9#HUF@ltn`s26TmuN3gErOy6~uhS@x$NuSg z8{?O*ZQP_!hF`_xZaX_gyDu-6N;;jGQW@wmRs0eWl7@L%U#R?^`GI@dO`28_(1WhK z;qBml!#*{qjsr;BJ{?TY>0N)n*m0Hc8=$6z-e}FUK~?>n1rUMc{tYRI5*lJjN&oUk zLs5S6y_~x#u2S?`iyjGaTE@7(gM-g9WnOU~5;6XJ=lQ>P<=1)KKOnv0-a}36YaFIo z?DJOg&9m3>V@>Ni*X(dFyp<<KoY{sfg-}W^m}O}^()q>4knJ+>+@$Y276bbS9Sx5w zWe3DBCSp>5U%gncekQUZ*{5~CVa{xoz~hEafU<=$H1(d7gl0z>D^G7mB#u(Y4Mt3M z$jYpjR#DBl<WP69ciq=MXW=8e+LHMuZK|Vki93>LG1pQ$R{iPywcxXvyr%ZfoA=Et zIuEsI%JyQXy`#Qp&M@NP!ve|%U;`&uKwL1i^INzbjw{0VQH@R)LWg=5ijQ_VC-NPY zzcYvr7xObMFzs5_k5nBbUKpUJ@Jr`@-tCNG-Yt_zO?`shSL9MIs8jVPtl6=D&Dace zgqV>MM54Gkr4_64{+O-sVa*hi>kHxZ=XB(qN}*iU@6W!S&a=-CCZ5?87{OIKDp-8E z8eH&dp2<B1dxf&5F&?_1jJP2^G8_X|pz1V_;(MBbY=^0f%a{q;>YYhpXVH%--TCJb zbS3vIF`^&Oj9b(D0eagjWKhcokCiIL&qRaoNbfJ&cRhe?Pkrism2VQTKn&%abLj*) z;K?tN%{nO?b#4t=kjL^Tm434*R)79CF-(KVUCI}8s@)UMRx!Rv@FFxx8?^^7ZzZb- z&V+o8m_Y?&59O*+k053xPKBW3JBMN>aqiw}&67Hc!RTMHRSDcRqdnBc0kQlOx$}!d zfz|mNY&27LCgav|?VrUlH7u2#E4-CToqj~?w9k2*eoxR}2<y$wIa0Q%opIChw(1M; z&5paDpFE83m>0j_waP>P9^chp+V$Ba_Z!JF-W8_B-@7)S>G#czO(@NQTT4r3_A=UO z=szgyBj{WvCt2!fMrH;4*=NeHzz~wfERVqtPSXMMctd8|7Al(I1%B#|b#arL9fF@n zttA{sdG??5fPPXUFJ4}hALrY3b_}L-j=v|I-oF$789ZI1AOD@n^e@(mj;dJeppg0P z-+gPLiF0?{8udW+HkZtIy!DzY%l5a&Z;d0K3Ki_KCW75_1)g-|GM{_bMXe93g5~Jp z{NAP(%#Q@-(99b471{?=GD=xJghA7meRQ7r);Q4o6>32F)tGN&b`TUi(Tx$GectAg zqD`NuQ$4yScc|{VRivoB%J(RZhM8Lv#rpPdREQQvTB=<2ipreBm%bwxN6pOE5Dkj= z8p&1t6~20=bmd0pOBNd(UEhr2o;PwT?q3ogxN0Bz#TKvXF3k;p1a7?I17hT%&YP#_ zmsSHu6Da(2tE%AjM&Cn(y<?ys&r>Xq-Q_Ek4MZ&*6<ULNPcujoGrDw=@+;mA--1u$ zD<p4LXZbtdeXs}w*0x{&HS~YLX>^?$(joy3sz&sp6z);qXKS<hXn~Q4JLvA)gUQ9? z$*wL7_QWoR+>X&V$Xt4*&Xyb53)de#JMT`SOI;4FkG{n@5WVdtU|;;9Vi${7w@S?& zaL6n6+d{F*JaKBNhe?E#JI>_GZ()h2g~dvBd_wrb*g^g(e*GDU7gzjB54)K4tbYQg z_&T|zeNm0Frp0?;i`!;jfB8Y4TM#EX#A*eG6+j=)_N{M*YBtd=ouFsYrm?u>MxNn3 z@izyX2~f%?jE@pboyX$Y-I$?U6D>tgd?Wb1H!>i?;m$=VM2oohorNRX<V!q-h7HzU zokb}(A7$FJe?3Q&w|l=ZxgDC3lYL`#hFJZRvwB!BdOSQh-lZ0w7OD64`8Fs=5XUg| z+EwB<Ao?X)NP{+!tkosid9^TpRq_Ilr_&I_3Kaoo6T%-aECcTkO5z47I(0z*#z=Hs zF-lzUOA@SFEGrm39RmDr0kb$ixklnewDt07G%JJOSF6}DwODfCv)b=NFSu`RhU3_| z5`VWkF$9R2KStzo6BJAJ^?4S2#*SF8zvhtl3|SH{UZ!HL22U^YATVV3FS$<MU1D1) z2+J$7ZokI4)AWV*C(8Qc4mz&35aD)H8}!^Pw!O+Nc@*Mve95_Z_Fr}JaJ<)R@&z|0 zw<J+?t4n-rsba}bH>O#{UJ3;g+D0vf(OwKi<h75n%ME*%6A&}Hhg@<)=h1sMbY4B+ z*pSf3N1<SgYiu0FmmAsHMoV%r0>9v)$4X8UDpet8D_Tj}7`UHl%kI&EVRvC)<olzO zkq{fUa`IIXQ;kUI`oqPx8&Y^8EjI3t--jI_uq5m-h5@6Sa{RKa%k3C%jUqF(3PimN zS4|dICVyT9GN_!L6{1es5wAp4B~#MEY~Ct|98Vu<y;|F7ph<Kusg>AxKvQXAWa4#I zu6AJ>AuSe_evYiJs6FoHLQ>bszJ;xSZjhP2oFCT22!|ax1Dy`@Bic^f3G7_PbW}?g z#5B}zQk88zKIw?-{`ld}EEwU~f|d1cF-w21D--MmHcB*}Effdw;C45$i*%^EK?O}9 z<>&qe*L8-p{Bnlm>pywV9(%>zjt;2Y_7+x_A0yErXRjns`&W~~JnCdSI{$a(tF2T_ zuSSBvr2=y0XDvP9JRoT)z1kb=A<ovp-@Lb}yobZf%x0W2W^ey_>};k2+&4YN?q|AK zVdts}fUn%YMa~{)lC50b1n2c9zGNW)=lY<?s0@7S?=VQN&0kS=?a|@kRt(}>p@!f9 z(d;;QP)UJdg%?F}$m(@!@Mnwvbw$7U*C)kr@%Z)U7aFofkFA%D@9W+xuavfgrPO2V z8sW97fe(RT9l%(%<5BdNxzkdIAmq>JqW_`mdAwaD)H$h_DL*o9lZrPv$J`bvNinDo z@9)vz%O@RL8yqoL?Rxumi#6qwiFn|<qUme)aUFBUUFN8rkDcq{gxW^vP8bjbYLtbB zcdnnRF&Yz^aBjHVQ9;htlePoZ>YdvZlyTH~xxkrwJ5Q;BeHP2AIEzv8rn$LJ{legn zX<{Xa!8y~xQFdxh<YF+VNF|Ry6qdEt92?4mawY9nk{j=%4c{VJpo<BZrvT-)zAnw= zfA+h&IHVahR}l<}7R(=LTi38k*LVVm&^sP1eMSI!7BJa5j?#_;M?Z*^IC}Gl04P(( ztxDY#D*O4X4)SUk6s22`ii|1}ZBgkv3FA&wyLIZReda#CjiZrVjAjbZ0Z?c+g!^G2 z<b0B!-!z7GVrdZDS4tHjIzyxc1RYwE!BTN~c5f!%564JFXd6smaf#>{Xr1axb?Xi_ zIzdi$h{2!9$n!?oY;*l-#aFC|Mc&ft5ugdf<|mUWn^INMNM?{c%40)?^92}x6bl2; zzhNaY+UzKc$?s2s80ng(MFRh{mEb+}QlARLyp7~yrYNtZxLvJm5I}>b-^BM3H<6m_ zcH-BW?}=!oVgUH(8Y8$f>qCmLZd~)Dgd+7SEnWR@5L4xl;CA^WNCzTi+MX+iw)Xmz zX&&XktW69f{oZg6k{tLeo7>5!o-S)#Ms(fwGt*o~zH%?^?nz2}2>uMJq{IMkUQ257 zzwIOqy}omRA}1Ta2Ms%mN~g#rGo1J1VSNKneeW)I14SUWusnSQFH#xJXYaRvT+f=! zC&qVdLyNUM<KrVF4U*Wa!|is|4;8TUZE+7K=VJ+Zi<uuOd&jQc?<3ons8RbRHVWj| z*u!|DL{eA{WSz1Xzmph*N{Z?O(2_X76#khFi%Y0ZSJa1}4LtMM1SzCH;WeMIT#ceb z=}H3m+&|`8JOC6jrzcg%MOp>?SowRK0sI1PhSdxfDhhHxi&X@Yiy0ll7+-s6r!oga zer^eAh9(`G3Qw@dyU`Z!F{gW!0J6fYtMZ?0*_4FslF<073iW__b?s-?T)88tNBwH} zd;UxEg}w`K)~m-qW!~_Tk)v+T<f2C7%j;uQi8?6NA8n!ve<oS-iT1?>fAgzTR<HHl zY4;e#q#Cu$ME(_`#IqU@mL>A_8J~)#_I+`YRj@mCLF*41*&Uw`&8=c7p>G&Xd6w4T ztjE+Bf?Lgez)W68Bsz9P$us!v)Z^N!TA@`TSSQ(qsoU5KAUCbfcVE;=vQzl+7RI+x ztFxE8+#tNv)y6F3n~URH@NTD~zxLEL_%B{ZC`B?uRNAhzFtcSa-N+K*%>tw0O8#7@ zHsU6AReN<r<Df{1hMaE|*h8-S#!N_YaE*(Zt3E%+vOBM$TrF!O-LqjB0PvpnUrGdU zW8<YY%E{!>wDOx`ez~<>lC-B8^>$P!*fQx{k)05R=XJ_`O+t2VX94B+y_=SyobrT3 z8d}km@iO}zh`HOTFRab)?=J(F>*rw<U7ne<D!s8jJj%ZME5er4nxzy^bsB>}wRty| zUVav*6O*&MGn+Y<ahy8Yj<VmYUASVR!DGOVr*BUMKlN~oDtC|Nw5GrT2KYvH4rveL zzyEfZE0vu^Ppa)+i}?iqgk5><b$}UlKDE5cd%F3_UDpfX`7Yr*9;y!kM-RVUG%tfB zf}ei;7dJx6ld@jJF}?VdDSt%6O$2vmw@3Ot8b6eBoiZdY+X&6_88%@zgF@1iha1U? z;vaKMcjN;_+~2m8r1(R}6s=#FmWEf)9$ag?AbwyprHJ0MF43w|THSOz;C9@xHKNKN zW|#HxH2}(yQ*Gz{qhZ$$6d=$Z?r}0w;&v~W5~JwDPuibxeGyjU$=zQXAk1xS9wyEg zl>cizG!38W(CL>D8ZYaC+=H<2BijB9!4)0E;av6ULjSdi<&eLz_5;mRkuQ&}6|N%> zGKqxOG?}CaO1*PV4<>oJ5N?-(UKsyu-^y**8#Ex2ZGH70zmi(Qs?anlwNN3<3yQxv z;d6+C*L+!85v8T}?TQ$)SXPq^#441?QZZ{Up?C_IfMcHF?hAIEI?Il5vL}rDtcR13 zO}ew1*=&XUwFf8ag4~$-d>_dnqgwzJJ$gX#u4<q$h7|+nE%&5uE1QW!I9|R2fdme( zP^{felwk`LD*-cW9z_mc&F>D0oC0IWsDCy4@ccwzzmMok5bfKNNe#15(An8(!eQ(f z2v%G_Y=a*azvL34!e~m@a9g6pB}~`GE&cOzqWRfeJe>^wk#Vsi`nGXYZ?%^SwsNgV zF*$eV3)N-`7jz`&{Y8#r!r)+4_|Ep^{j`JAavM_=*_ZEHuQUaAzBUq>lopo}d3v*A z?1d|{IZFg=?-x5^@hVCdML&*yF}*+iz6kH|0fi~KkehzMU0gi<D8pVz>?D40Ci&5E zc_0Q03hs7#1%avCwd@8`NWB6$Odd4s6N+9U!eOpK=U2M$hbBIoD?T<*bZ)JL{{F|v zL6t18xG#3`7^s%|ET#)D;Df^ix^;j<f}4D*q^2mjUB*%RW(ze@1y~An8HV!uq0veT z8t_Mxn60CDO@8^wI<>>H4outPfcWp&{4I?E8-)Sks?k>ZmZrJ&HW5N3#Bi_2-&u^b zElzE;!>-zs-v(*LJ$RB%{Kb-J{Ta(++<Aq5vT@Ow)0$D{wk-~ZZSNT&Vx8xNC!kzq zJ;Z%0MnS~Bq2upe=?mcHlc_>)#CP1^yk#k^A9SPpb7t7#s?1^9nOlIAAT%<dltksy zCj1EB>=|SoekXYJnpVhxwgl|#Gt?{q5X`eA6H$Z;FD{V?b-g%KW6ml52E|VDEiIeu z<#NZ95?&#o_<mPZE;sNq;mQ>>d)uUt$S7QRf6W3sZnhZewt2_ZagqnRQw#!RnYoiZ z0OF7o>Y_GPq{C&9NS+9X35N)`P<iV%n-qwNVx2KbyI?Ot%@cNu`-)-a()$YwdesKV z$lS3PJts}H6aFN3E?oJ~6Aq4&F8?j&`+s`B|135|lS4UN^?S|K!yJOiu<p*~j_1zI z*&K-d$g;1S!!E<h?^=DQ7}YrgB>b-??B*bIFQ}(QO!UgLmG07{nC8-DI;4xGmfs8^ z>082rYeLEH2m^OZv*nf7Ddz^>a}jn|l^v9qNM6Ql?0U$DFQ3ydhg?xc39*6|b~zhL z#5AL(A^OtcMGH|EeZ*x!RU9%u5MKE|9hzQ*ii}LfeoQ($^3O)BnYu>;N;1sSH5a}7 z7aV46^7i#87Jy{aPu(j7UF01?+G&3xDRA^ihTzzIskGR?_@h4am}P9QKJM?H+n359 z_m}GE?`CFO1np_5*@VBb3~8NOzq*A63@_5Odx%#(i7ibm6R)cJ9)xdQ*nb#Hrj&a? zCRv_kjJG_o1Zv|~<;V<&N38ghNG8e79UHo78&qdD7F$~#+U8XeXTRhZcQ#LNzjTOh zB5Dt=TIAZ3{KDBY&FmIwVk6!k)8(hbg5YKV_|?^jh&_4GotP8JcGImevBami_7Zn0 zE~7fxqV!0;CW_p@+gkX>_$G!WLEi&^YRgNc_uFHI7g!AzpmWyppq1B{iqyMaHwJ#l z-ahZ(`MR4BLT{cgKh}oS`F-Xx;A^4dSdOOob)B%>O;tadb&EjsUW)n(*Yc5cp|!{f zAW*fgykn^T^v$pFF^$I+t%qcYE7FR-kB<+eZnu6vMg02iuFuYnc0DFQBb^PDE6og; zB1rgmg2@Ie*XkCmT$@Mr(>lVuq4s4PMUs0V?hIbR$myTfeL5rbgfVn6w%#MS2VF@H zjQC(a<cv$+g)lpc?3P#_AqRSh8|89z0a|*3s4{sH-v~naGq>ZZ==e5#^Rab7*8YbC zB<*M7kMn`@j8S~fSt*Qc#yPg!@83^I(PxzerDz%<iK{361^Z@vou+%5AH45_9?iJ+ zd+V%*9VY?zBjV#F+4el@9~?!1wpgvg;C6rB%}i)!)S`+~ei`ST*i${<(rXJ#a=id< zkm%Xo9c*nV`KQ5mxseF$&A0NgpLg}3MN4&Mlb>lFkx6&0H=V*Hz+vfxNs3XOLJmw2 z&WoY$LG$9!*o*6%#=T0b450aM5n+*ewmNRB@oraDw4SN`D*^7>bbs#VovvK}I|g0_ z>p0gfkqg>(;D>dH@I_gvRAsMMd1%Ou<HaVWXYgFkP?awEhvg(jrx*LIG|Bqe=Ym`H ziIhTKE0H47fc8%DQ3JQ^#b0e-6{Bo^pU9eZs<NMHk0K_{m?$P46@J~-)$rb@a*Tg| zCS%+AP0ctFBoJ3See<C=-x&hXmpNM<>o(f{r|W&%XmtJ7rNDkF*vhlhWTFCrd)s(3 zFzYenDQzDOIEhw7d&P1mJOGj4P?O*|^8Tk!?XyI6&TXtok+1+c$&~nP%~WE_TQB&j z4%?~#mTjcgvQ6ivpU|#6hbZ{?VWjZH((AZ#q~q(h_@-Zm2Cq(of3AUaHY<xKH$NPu z$!oRs7A?vP0+^-l6-k_pyir=sVOH18I6OX9ZBp4P*fJ}{*3D44%Fz^=yydFpN1TPt z5BJ{DqnRT9Um3?6@(a{Fi`Qn{JdCktN_Dv?Zp*41ti^I;hU_T)K@y)HNqq}1$Iiy9 zp&YSWV>RkkqWbP@y?noykNurRN&hqhNMxdT&XC^#p;;3kVZn5WU#A3OXz0jAR6L0B z*780HqIuk6%))*6!*KC8$6~Q1Z2>a}>_=eZR+P_oF~61H$^t6+(d&_fRFPKl)r9eD z#$G96tVZuG&S*AQh*7Yyl+6!}-z6sjGeVFWB$*)xXLcB^JzvSr0dcP;!xr$H`Ku$A zv|XTZ62WCKWm2nMs+YaIswk^cy8MU9pmeexhg&r6Q{nzNu$AjKCjJF?odf;iP1{gs zeFy?XHVlUVk#vurcljUH*A`P1)+<_$J?-j}-qTRPY?yWi_^N5i-M0bR=CIHVx;Ah( zl<G_=n;#40Y2kMzwWRM*(CT&f?C1G5269-bkM07bp`3>G?Ok6UP?5(K!fbft-&E1s zHWBq(?R>tzyDg59D4_7e#uD+5rmtr523WvK;vokf$%DkjlXQWb6K<~i<_YLrNlEgm zePgb*ohN+#&Gmge*7O8T^RZebff&UqE6qC$Vc)(HzsuMk2}OozGYJ8*0NMAa5yDiF zxW^1=^Vo6Ev#Cpmtynu-2M0rpLFV#ewCIbd5)R1ejT!il=o-|$M=%sCsOGjZ0+Cv< zg4VO+p)lU|N+QGH=9&OD(4ZC-e1qG6n61S#&yOhut`ovGu~uLQMJ~|~@_e|!eq`m( z`rPo#ld~Aa#jn6LoF$h)5hAR>n@>K_EQRz%Kw(6qSIasC@fYk`)*{4k;F*LmOoT9+ zFv8QWO4OE_gp&N_8)H%-fHoc9tKc8L=cZq`Vn8y(>s!%<CooM!0dIyAuOodEeBh>h ztfB28_g{;?Zc^0%G5%mF@X}1yRT*p6{@(7ABfU3TB)bnA6ZY71J@I=0LuTQ(tGpig zOb^Jxl)Hk*kf`5h%4&7gpU~y%j<v^)^l=(dBe;&0A?YGKMwZ<O{4E`0=3&C7Ws|ep zPou(=@xmpRyBB;3bdQHMig-M5JK-ZF<igCF?2%N)dTU-Wg&-0*>yA~Jf=1EXe#9#r zV20PR5P?*mo0ap&M<69IfiJ=-(VLibOdt!#BbT1>>-w9V83Q2SUQ+VVt^Zw!Zs$9C zzi55y1<M8eQic$`Xg7s1>M|QorYNQcrs0<?)-0vz!A5OFVlf`(h$?~8DX!x=*KZd* zX{@caHm`j;)7WzswS9K|yd!><4Z%taWMMk<8?|c|wN(Xk|4}RcuQ|=k>yTF*?YrIA zivX{;p~~o2{AS9zhR^r7Ax!`BQ6Y0P<jF*CHQ!1jl^?smmA%}qL`ETPV9Z4>bW_W^ zkpv)Pqj>dyP0{Y_MhfnNitW=5bDFVfaMsM#U}9hKs7X|(_aNJ-lM$e@v(DRv{KCRh za^Cr<T;|l9e>u2dMRn0&WS&xb-pABi-|sX13DsAd*;nB&+h3|baqS6Sm4Jx-Vp`uy zN(GEp$>IR#s*Vn2zwUSuI1ddhRQgp6FOy=F|K?kM&XA*r#=xa7?pC<P(soD0b19Lz zJm}`bpIU}UkBV9ayk;?OMsTmh*GDbCz8W_FM%%=-q4dI9OpDKUTPZ+FO-viypE0dv zAe7)e64GOmw@*7hbDb#%$iY{sMR~H*Z^=ZHbz0|8x!-7%r%!M<7?QS+3Upoyd^?DA zzIf1(s&T8In{FAEq1)UbKi8PMSwCCgGDiTFqrbN-hq0CC%J*fKARwR|Og11{qDDG( z8KHAAeg0Voq1cWRxx!!Ip;I1e=*EJ1U^v;R>S-|@(Hz_3mX%H8zp(P!9S(4~r%E%v z)xhryY01bunC8H?=L`{M()POpBiG_GD}2z4txSy>|3Fd(Q!CuER>>LSq|3BP8WTvD z7puS^{-gwB`=k;82vk-P>abT#Z%PxnA+=S~wGoIE8}Y}F-U^$2N7<k3q4laa2)9do z6OX(fAl~}rAc402a%RZy532?0>F6j1>f6^~v%JN|<JE^RKb4P9-(lGn1ok$v5~=Hg z?~F)N#&Zr{_k^~nbAyM`1$sIJ`mfpwDO^EK{<9VzbEX;f!Xe)ysYc8PLWJ@8lEqkW zBEuB?@T1ut3PitzG&6^Ymihr)7BKT-Eijk%8cE!FX?q=cCG5k>&YwrD{kXGrseUF( zhhLS&`)bMBLe_az>1vlmXngFbQrh0;y3{hUok{($ch}drRL=>ayc*#3C`=dpRkSbJ zg!9R28dLn<?9CbDbSy+=_ugtF?ed@hV+G%Odm)3;pS^DAWWfw0N}O@T&*f4l#SCAg zR>#JZ2&b)KVIPe?oCaGG{ryDLlb+oIylJaayziwpZjhn@Yr8l>i~8hppr(K7tp0^< zJp+pxvO-VZsC#W`^Ms&W=7Rjx;rj3%C^)AOr$GtfJhD&6A!ky!=NF)5^bhMdUXtZ_ zGy(@Au3XWmzNN}&oa}bFt}~-)68ytJ{pV(ds)l%0B>nt-;Fp1iQ`)?{z>p^KOF%N) z=92JeC2|cu%j5-<=YxT6JMHcZ({uo2T}zM+^XVt;ae<tbdbxud5{<Ele`<JGs9wVJ zx>560K9l0tl~^TqfK|=gr8)QztB^P#bc%?fk5O86bXGJ2^S9tK^AkfIa%=Ea<{nM! zPzRAh{Q~M`EScNasP%_)Sg*%MtFUR$G8niiR?U}O{S%e=T9=XhvC1jS<-=Ejq-lDq z^H1jl5;Xfqotg>MI!A&XKaQ0!#zscEEkK7WE_hfgh3;bKU~6ihy-8)_8*yc*OCDV& zZ0>Ck*=#B<okV^Rw^5V8EGH@_u=~yVzj<b6+Zc$597;y)Pwu0JpP$Ac#J?6=rnu|g zn%Vl>*I&!ecK;>6ryUOYB>Uf{sB<K=fMVvbBhytKbiyjJP5sDk+%gs+#yN+PoUbk( zPk9dW7RsqBIRORS!7`UM(h+Y7I`B7+pg`~zh+ybtybIkLy2n00@!2|pTn$I&kHO=` z`iOkac;L$T{o`f!)|m+c(cpv+;qcZCP!W=cJBmkKza8<XKD{0hisges(5sq#XRHHx z{1Wx3Y&Wbdh)`6#&Wa(3=!Pm=HuOF25mv?yOd|UnJuVVgHCkf@T~RLh=jnzh*Sk6Q zi&gB&YUi<3I!DC3iYJwa1)l&y&&%0A@kT#P>x?_~n!@a`U7!{vbtgt2#&-J~w5|@5 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 (r$k=lh;e>R%%lka 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∈gZd;7bi($0Iz*Po&SXYy8HIAh8PpIL=7z5Jw@91UCEE@u+-1Mrtyz@}uta zEsrU+jUL4>3{`_-1M?)Eq=DyaYPqTiEl$D@q1WK_?ssb_w9g|F-sKukCuSwlruT;) zTUT5NK9m}_Yk?Z@Wg)<dh8Ult$o`iY`V5FUJ89XP`sU0Qo{@wTxdBS|x8r(=jI?UA z{PoK`?{ca3mmz*7iJ(}JXx-Lz!~Nw#p;;PNi(h`1tr=wEM#c0p3DEB}#4Rs<Oern! zP!_n}ilRq8^{3{xT7gDsAz+UNQng^3J1KQi=>dc8m&6{;N9UJ`oj!l{+uS<>pE4uQ zL_#h-DG)n6cVX=22NW9@)z{Bw>nS*=8`)jgqw!mFwYihxXMGK~7Yg8;{1;SRosD!9 zgT{8KFG*P{Mbq++qE6MGfE>4(WpqU1Qf#$aJ3j<2)cQ(<VfMH1w$~0l#x(;6yWpWH z)*hnKx#bD{-QB{q7WAM7wRkxTQYY!yi?zMN<m$7!Q(U$U>Uxg22CNWNiX2s5H>p{F zF?sKNI+>4#up&vOaUi<G0nqSRC{$Z?$#t~ltW*jsiQ{g5munv5r8LLCBZ&PS<{;Ix zD=xl=Vxkp0?gQ`P-n?&uG}nn{S7{_Z!?L@Rh@bmIJ%$)bfWL7|r;I&4+pe-|fF+m; zT&k!`)Y7tLI7Udq7p3@9SSRLn*au3wPV&6Lg=n3rG(m|A`E0w9kV5`onbC7@&TBH+ z7icn#s)l2?RIV>P?Rq=fEJe^klH+7B@bN^*IN#}E8QUk9fvU~WeJG7TOb5G`_k%!8 ze(-Qc=FBq!YS~%cA%zC;W2N?jj{+Atm1xt+Fpn<YO4Y|HpBZ`5kV-{DAN-b`v~0++ z*|TrkKWh+<Z0wT96^T^-Y1=(K!S^Y1zwC<3j}`vqXEB$Uam5bK5E*3lg+FkG=z8)P zeM!u5m$=kP9@El^$c>ikWJeQoN~nQIqWPcTpt27IyQ5<4Pt<&(%3{=TL8?5bt-$p` zF4g9lh^~h<|JRhz!88&3rR5wP4W8#%0pI0?c$`h1Kr4iTI8PQkg-m=#DZouaj#i4& z3)LgmQPk7zY;D;^LF!BD7nKFsL2b+*PZ6FEzKeQ0OkCB@vo6(Zzr5|)<ubXsZ@6wk zHOQ4p8DjP>W%dRMNqD|IrJ!d<4ugjvO=a?=o{ftro(RowS%>7UdEx$sOfC3&oz4+B zuJHA0x8V%;Dd<dPg|h`O5X?32q?Em={sr0A^XVnc%*PsD@d8(vow9`YrRtT1=~v_g zZbgH=Nyod-XS&rt##~vjrI+69=VlXE8-xKdB%JV#ym`AiVN~52l8^b%v}$Kk8C{p7 zY>>&Y2QV2|pwe=~SBti@$#!s6a}Zxs++C(nr$FZcK~vn|xpfvtDC!ciB?f(iYe&{! z;In-c&xlXME+a{4e$Y`iWCQd#*6>vL@R~?Kj8y{w%cW(=Pa=O&RAutgO6xpdujRIz z7>@_4<}wQB$FF`f-=>B~Vyl4X>{=ZJOV8rQyJ!0Q8vOtXItkdK#TNA6<v3S7_l60E z3(XW0ybJ|#XT)CAcP&mU=R<TCN$359a~yXpcOVz!yzV8CnYTLVH;TFpww#nG^6qas z9qdOr8(QjX@$3Nc`@iw&!;dJL;~H|fFg6*ybGlT=N1vZcQ?ji6*<Ctl+eC)d6rfkk z(vx_coZx#Tie%)@cmtpNWQOX*0aRO1#TZ#m&xZMec<_!WIHkhPE7xsa_N<1Hw`=;E z_hUF3$2U=oRISqE&J?Yp=aphpn#`juUP_a7x{777O!{<2lCt!Vt%td#BcJYTd?{5F znA5s{?QZO(`(Dau)d|Fr%)Yv}8M}8iC31e|x)jzEVZO^Xu1nxfx>I197zm*WGg$jp z2=F2<FnU>?;@WaW61V#l6x$cmv4h=Zgyw09!>oJuW1lNX{I}AzPe$;VWbnHC#`tyF z#X-}HB2v2fK{#?}c3<<Cm%2U)?Z4^lq!-LXvF2nF#&7FLBhizU;_jPAJXJ%<wFET( zSGZ`CXCOMbX4he*?a$fzyM~>G-_ShG(C|V#W6+P6^iz)y>xDYD9HH`Den4B}*dgWj zJ$<aw=q5mG?}=cX@O##NaW6t9j^ryqnWIVR)f_ig+s;6f8Lhfcd@P6Jna}VF#O!I# zY*4PHVl(G_p7b-MObr_Uau?t3zb8u86|4jgtXwv0^I+9Pt&mw#Sk(C*26%4);5@zR z4BEpBMusFlegNL@8B?{m=)f~K?xZ09>O7%sLC@v<x0``bxB|7J5a@@_uV8`GM2X4B zsbz?UMzl-V8nv~&Fs&kjTm}*#r}S@sF<Vi9xnSi0l5hqxCE}+bw~VK51)wqzwA_MB zvgp8J+;2MBok*=hqugxl?RW@ikQ}lbo&WhDgoptor|I$8!ehG`UOe+fBfFUwMms1g z?44KP)Zp?zl7(imy)Zk)(<o^K9@BsY^6&WlLZn7!2_J4tiL!y^OM2q3>LL{&8qOc> zyt!X|nA`34XbkztMJ<&yR=B(M5Tl@-jj|V*e^7!KK+^cB${sQ;pA9ap=}6ImS3Xmb z_!tcdq8?x@{LR0MeqlDby4L_OOqFzMNGaW?mCv;#1l><PinF}{oy7LU5+;K#te|@& zrirI7eNv?tCt~2#vxnr_uUw8H4PnRr;_4L34Hpg9%id1}Q2kh?wW&WeaQ>dTx%>wk z_)uz4_6L{7nxlYQntTZsAAy|e=aE!f7){O4H{bQ)ha|l&(aw95GmHgT^<jW0#}K1L zbx~$5!B=}oiHEgBXmc3!n?1xdxLg7?H<#REj;lf|b0-V9xElTN;5kzMI(p%1XP3Tt zI{yBAu!B47-L=Az19W*->ArUc6D%+1nBPs;c|^^1If~PXKX1|pf29F_irr-vHpI)I zRMY^1bG>0#5Vn_eGqvKQDaA;ZTfn9j#l7{f9RLx~U@BmJ(Ds%MBxrJ<7+-?k6zp?& z5ntw9w|$LQk!p5dmak@=>yFX`L#l9CDAVhPl0bB5p7j0h{zO7PzTEX*-%NoR#0gcY zmXq_=18J+oZ;L#jM(b%G(kjhMrA`ozy}nXz5;&vOJdt$Aki;lJ)`DjvyI#A=k-*!M zip8Bk(ph(0Q;a-u{%lTzAaXYAasx*V|M?w+iUn&PuSFH3jo3$r^SE-v`E787V6G>~ zZ+9h#Bk<Z;GUIf`ox4#o$P=FFSza0&{F~1MPApwVElMfG*>N7K&lrGvx<C{3c+o)J zA40^Iwqp|NNJvHbWnIHLjFkg9VdJ7o47}QTTYh5JP25j5gxSGW%O$g1Ly{E82Q5lB zqdsx6bZ`aK$yNqPK82E$VFn!vK(o#6-;4TeJV6PA?#pL{NO<!oizK8xN1pb$l(;}Q z_Pv(CL!4ujS}F~Ho3M7&MT^x_1Q&@p$rRW&Q&9Z6;GNJ9Y8=heu)nF4@AU{t_0Xi_ z*-a8TJC1Llz3tSB8y$OD9>HCYo5f;~)r}btNv+#6w48N=zao<vGFU+ZblF}*EM`if zSDzZQ#E9PiVW68b^}gGC>qi5LY(5l<Z~VvNQ>as|i;RFT%p&x4ylCKh?B||%U>oDG zc%L(OcaF44DI>qrK$rjuR>3B7G0}LQe2R&!R!TR$;DdgodCrISo@kVfP8sJu-`D3` zTM1O$<EoZ4lHyWP8Ysh+d=P4{rX*G%AQ(&e2jYhF7~VljqF^8LKKdvs#R1A@B=?eR z#pr|Xao_|AM39tTpsbf~<hZaL+}XUAK;5xJ0X159CS2F03?(zdeLdCod}TI0M`a4G zF8(Tsm%hcRTsvU#@MADf(_n!RQiAwsMqAB96B4_(bv?<m6(M%BQbwP!j2Y0$=rE0x zo^-kco(|%8Ize5}_o5Nc$h!mYgJXpPbA7M^6UzI4KYbS0?Kt<m#&2RK8~kaXHn&eT zG!2Zw{L0O;B-FulQfhL1#I96N+Ab_eBibUwVY%x^iq^`AX+=}$KJi5pHgKNQ5ZAdK zk_p@~vJJJKq_#ATG1Wvm1pBDS#^R6FW>^z?qjLW?2sHFtbAD2X<MhBdV=D57WJlJT z*ZbTtlTp(untu(KA1t5(_NK)01CO@m$aeNyCi(P=V@GWdqXb1%{YlGCKcsI8gt%H0 z6o4}7s0P|YR$y`35i;-{&@%X=55wl$T&L&d1#W_SrT{Hbt4vtyTA!kWrH<%JxoK+N z%h<vfm$2xd<ymgFTdG?vX>u||IkN`dT=xqiXb7rzxdL??*Ba=A1oG<Gk@d9&&!V&* zvI4p{E4}eCa{)*kfrZN4tGhYYU=tLOXaCnWnfeKHP~lYFkAS|8b?9lo^WUWh%&MlR z0C>hmuHS-<esT~)Vw}eL@Xbtp!R)Ek19xhV>g5hUZ!RApufT+MJlTiLpvl!@SxCl= zVj6-C<?$e&$*{KJxz$&sZK{CZcx~42R5o`CRdwz3Uau*5ZI8W_HCV3AUqhst<Eo5U zNGvv1-we5RB<Dl}=P)PR0mVPt!OYzHcN1n0W?B?e7DE*V%RkTPshxaX5@5&vNv?jX zE!eoo<aAxT9M0dpNj9{Q?rz9wd(Ql$p`{C&J+~Aajr^6f?lT6~xv5P~YgxqGOLB(T z$R&wgq!e;{HyU$2tUp6A9`i#}wdLWX)4@}^LAxxsT_50A&LYE(SIm%$bX<DdaPlX) z^vr3qu327zt6O$%8&R3wM@(J>RofVV#Uw}fNRng=Iq_;3Ck2U%FM-0|vRT@WyH-{J zzXvhx3m5)d+dT>`eCk^U7&~tApw{I2b;f>6@l$L#K^FH*TzVx*I-e*A8khE&Rdyzk z-wjF<0BSSM%Y+SJ2<9uaW=~aY$<5=hBiFa?_?a$on@BW;e|t!@p7Zy~Q_!a3VrW)q zw0Z{Rf6Fkj<-G;(U3EE#Xh1b|_kN<nm0V(*K0mu`SvgAzJ>-4Pk=5Jttz7*#Pm}%N zsAx<5s0RwVtdH@vt}}Numy9A=7iv7+r^H@Wh+B$}@*b4?_a*@C-9C%z>5_rB8laq( z)k7p5-u!wi_CI42wGs%_2aXROGj`$K?wn3MWi50t>28^M&gpEyHqdSQx!RBGu8q2H zjDmet5IZ3H=DnfF1CBT@>qHLf0qurrdgpD(lWf~x!O(JN%+0B}r>Epa&}mGq6pYw7 z>t(FwQCSrf^teM4|J?(6Ew}lvSqhhV5?hby3arxe+tc2~85=KjWh>Tx;SV|7Ty)^M zLpGdIcVWV≺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 Q4M4qA6}1#9<t#(~4+}Tiod5s; literal 0 HcmV?d00001 diff --git a/examples/BMTrain/docs/source/notes/installation.md b/examples/BMTrain/docs/source/notes/installation.md new file mode 100644 index 00000000..3fff4eb6 --- /dev/null +++ b/examples/BMTrain/docs/source/notes/installation.md @@ -0,0 +1,45 @@ +# 安装 + +## 安装方法 + +### 1. 用 pip 安装 (推荐) + +```shell +$ pip install bmtrain +``` + +### 2. 从源代码安装 + +```shell +$ git clone https://github.com/OpenBMB/BMTrain.git +$ cd BMTrain +$ python3 setup.py install +``` + +## 编译选项 + +通过设置环境变量,你可以控制BMTrain的编译选项(默认会自动适配编译环境): + +### AVX指令集 + +* 强制使用AVX指令集: `BMT_AVX256=ON` +* 强制使用AVX512指令集: `BMT_AVX512=ON` + +### CUDA计算兼容性 + +`TORCH_CUDA_ARCH_LIST=6.0 6.1 7.0 7.5 8.0+PTX` + +## 推荐配置 + +* 网络:Infiniband 100Gbps / RoCE 100Gbps +* GPU:NVIDIA Tesla V100 / NVIDIA Tesla A100 / RTX 3090 +* CPU:支持AVX512指令集的CPU,32核心以上 +* RAM:256GB以上 + +## 常见问题 + +如果在编译过程中如下的报错信息,请尝试使用更新版本的gcc编译器。 +``` +error: invalid static_cast from type `const torch::OrderdDict<...>` +``` + diff --git a/examples/BMTrain/docs/source/notes/quickstart.md b/examples/BMTrain/docs/source/notes/quickstart.md new file mode 100644 index 00000000..f139fd33 --- /dev/null +++ b/examples/BMTrain/docs/source/notes/quickstart.md @@ -0,0 +1,146 @@ +# 快速入门 + +## Step 1: 启用 BMTrain + +要使用BMTrain需要在代码中引入`bmtrain`工具包,并在代码的开头使用`bmtrain.init_distributed` + +```python +import bmtrain as bmt +bmt.init_distributed( + seed=0, + # ... +) +``` + +**注意:** 使用BMTrain时请不要使用PyTorch自带的`distributed`模块,包括`torch.distributed.init_process_group`以及相关通信函数。 + +## Step 2: 使用 ZeRO-3 优化 + +使用ZeRO-3优化需要对模型代码进行简单替换: + +* `torch.nn.Module` -> `bmtrain.DistributedModule` +* `torch.nn.Parameter` -> `bmtrain.DistributedParameter` + +并在合适的模块上使用`Checkpointing`。 + +**原始代码:** + +```python +import torch +class MyModule(torch.nn.Module): + def __init__(self): + super().__init__() + self.param = torch.nn.Parameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + SomeTransformerBlock(), + SomeTransformerBlock(), + SomeTransformerBlock() + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**替换后代码:** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +## Step 3: 通信优化 + +为了进一步缩短通信额外开销,将通信与运算时间重叠,可以使用`TransformerBlockList`来进一步优化。 +在使用时需要对代码进行简单替换: + +* `torch.nn.ModuleList` -> `bmtrain.TransformerBlockList` +* `for module in self.module_list: x = module(x, ...)` -> `x = self.module_list(x, ...)` + +**原始代码:** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = torch.nn.ModuleList([ + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + for module in self.module_list: + x = module(x, 1, 2, 3) + return x + +``` + +**替换后代码:** + +```python +import torch +import bmtrain as bmt +class MyModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + self.param = bmt.DistributedParameter(torch.empty(1024)) + self.module_list = bmt.TransformerBlockList([ + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()), + bmt.Block(SomeTransformerBlock()) + ]) + + def forward(self): + x = self.param + x = self.module_list(x, 1, 2, 3) + return x + +``` + +## Step 4: 运行分布式训练代码 + +BMTrain支持PyTorch原生的分布式训练启动器,不需要额外的参数: + +### torch.distributed.launch +```shell +$ python3 -m torch.distributed.launch --master_addr ${MASTER_ADDR} --master_port ${MASTER_PORT} --nproc_per_node ${GPU_PER_NODE} --nnodes ${NNODES} --node_rank ${NODE_RANK} train.py +``` + +### torchrun + +```shell +$ torchrun --nnodes=${NNODES} --nproc_per_node=${GPU_PER_NODE} --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} train.py +``` + +更多信息请参考PyTorch官方文档:[Launch utility](https://pytorch.org/docs/stable/distributed.html#launch-utility) + +## 其它说明 + +`BMTrain`工具包对PyTorch进行了底层修改,如果你的程序输出了意料之外的结果,可以在issue中提交相关信息。 + +更多例子请参考 *examples* 文件夹。 + diff --git a/examples/BMTrain/docs/source/notes/tech.md b/examples/BMTrain/docs/source/notes/tech.md new file mode 100644 index 00000000..9104fde3 --- /dev/null +++ b/examples/BMTrain/docs/source/notes/tech.md @@ -0,0 +1,11 @@ +# 核心技术简介 + +## ZeRO-3 优化 +![](image/ZeRO3.png) + +## 通信运算重叠 +![](image/communication_fig.png) + +## CPU Offload +![](image/cpu.png) + diff --git a/examples/BMTrain/example/README.md b/examples/BMTrain/example/README.md new file mode 100644 index 00000000..395b5e64 --- /dev/null +++ b/examples/BMTrain/example/README.md @@ -0,0 +1,5 @@ +# Example + +This is an example of BMTrain's implementation of GPT-2. + +For more model implementations, please refer to [Model Center](https://github.com/OpenBMB/ModelCenter). \ No newline at end of file diff --git a/examples/BMTrain/example/benchmark.py b/examples/BMTrain/example/benchmark.py new file mode 100644 index 00000000..8a7092d9 --- /dev/null +++ b/examples/BMTrain/example/benchmark.py @@ -0,0 +1,12 @@ +import bmtrain as bmt + +def main(): + bmt.init_distributed() + bmt.print_rank("======= All Gather =======") + bmt.benchmark.all_gather() + bmt.print_rank("===== Reduce Scatter =====") + bmt.benchmark.reduce_scatter() + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/examples/BMTrain/example/layers/__init__.py b/examples/BMTrain/example/layers/__init__.py new file mode 100644 index 00000000..ef4617c0 --- /dev/null +++ b/examples/BMTrain/example/layers/__init__.py @@ -0,0 +1,5 @@ +from .embedding import Embedding +from .feedforward import Feedforward +from .layernorm import Layernorm +from .attention import Attention +from .transformer import TransformerEncoder diff --git a/examples/BMTrain/example/layers/attention.py b/examples/BMTrain/example/layers/attention.py new file mode 100644 index 00000000..0f5155d4 --- /dev/null +++ b/examples/BMTrain/example/layers/attention.py @@ -0,0 +1,118 @@ +from typing import Optional +import torch +import bmtrain as bmt +from bmtrain.nn import ( + Linear, + ColumnParallelLinear, + RowParallelLinear, +) +import math +from bmtrain.global_var import config +from bmtrain.distributed import all_gather + +class Attention(bmt.DistributedModule): + def __init__(self, + dim_model : int, dim_head : int, + num_heads : int, bias : bool = True, + dtype = None + ) -> None: + super().__init__() + + if config['tp_size'] > 1: + self.project_q = ColumnParallelLinear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype, gather_input=False) + self.project_k = ColumnParallelLinear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype, gather_input=False) + self.project_v = ColumnParallelLinear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype, gather_input=False) + self.project_out = RowParallelLinear(dim_head * num_heads, dim_model, bias=bias, dtype=dtype) + else: + self.project_q = Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + self.project_k = Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + self.project_v = Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + self.project_out = Linear(dim_head * num_heads, dim_model, bias=bias, dtype=dtype) + + + self.softmax = torch.nn.Softmax(dim=-1) + self.num_heads = num_heads + self.dim_head = dim_head + self.dim_model = dim_model + + def forward(self, + hidden_q : torch.Tensor, # (batch_size, seq_q, dim_model) + hidden_kv : torch.Tensor, # (batch_size, seq_kv, dim_model) + mask : torch.BoolTensor, # (batch_size, seq_q, seq_kv) + position_bias : Optional[torch.Tensor] = None, # (batch, num_heads, seq_q, seq_kv) + ) -> torch.Tensor: + batch_size = hidden_q.size()[0] + + assert hidden_q.data_ptr() == hidden_kv.data_ptr() + + if config['tp_size'] > 1: + hidden_q = bmt.nn.OpParallelLinear.apply( + hidden_q, + torch.cat([self.project_q.weight, self.project_k.weight, self.project_v.weight], dim=0), + torch.cat([self.project_q.bias, self.project_k.bias, self.project_v.bias], dim=0), + True, False, + False, None + ) + hidden_q = hidden_q.view(batch_size, -1, hidden_q.shape[-1]) + h_q, h_k, h_v = hidden_q.chunk(3, dim=-1) + else: + h_q : torch.Tensor = self.project_q(hidden_q) + h_k : torch.Tensor = self.project_k(hidden_kv) + h_v : torch.Tensor = self.project_v(hidden_kv) + + seq_q = h_q.size()[1] + seq_kv = h_k.size(1) + + h_q = h_q.view(batch_size, seq_q, -1, self.dim_head) + h_k = h_k.view(batch_size, seq_kv, -1, self.dim_head) + h_v = h_v.view(batch_size, seq_kv, -1, self.dim_head) + + h_q = h_q.permute(0, 2, 1, 3).contiguous() + h_k = h_k.permute(0, 2, 1, 3).contiguous() + h_v = h_v.permute(0, 2, 1, 3).contiguous() + + h_q = h_q.view(-1, seq_q, self.dim_head) + h_k = h_k.view(-1, seq_kv, self.dim_head) + h_v = h_v.view(-1, seq_kv, self.dim_head) + + score = torch.bmm( + h_q, h_k.transpose(1, 2) + ) + score = score / math.sqrt(self.dim_head) + + score = score.view(batch_size, -1, seq_q, seq_kv) + + if position_bias is not None: + score = score + position_bias.view(batch_size, -1, seq_q, seq_kv) + + score = torch.where( + mask.view(batch_size, 1, seq_q, seq_kv), + score, + torch.scalar_tensor(float('-inf'), device=score.device, dtype=score.dtype) + ) + + score = torch.where( + mask.view(batch_size, 1, seq_q, seq_kv), + self.softmax(score), + torch.scalar_tensor(0, device=score.device, dtype=score.dtype) + ) + + score = score.view(-1, seq_q, seq_kv) + + h_out = torch.bmm( + score, h_v + ) + h_out = h_out.view(batch_size, -1, seq_q, self.dim_head) + h_out = h_out.permute(0, 2, 1, 3).contiguous() + h_out = h_out.view(batch_size, seq_q, -1) + if config['tp_size'] > 1: + h_out = h_out.view(h_out.shape[0] * bmt.config["tp_size"], -1, h_out.shape[-1]) + + attn_out = self.project_out(h_out) + + return attn_out + + + + + diff --git a/examples/BMTrain/example/layers/embedding.py b/examples/BMTrain/example/layers/embedding.py new file mode 100644 index 00000000..f62151c4 --- /dev/null +++ b/examples/BMTrain/example/layers/embedding.py @@ -0,0 +1,102 @@ +import math +from typing import Optional +import torch +import torch.nn.functional as F +import bmtrain as bmt + + +class Embedding(bmt.DistributedModule): + def __init__(self, num_embeddings: int, embedding_dim: int, padding_idx: Optional[int] = None, + max_norm: Optional[float] = None, norm_type: float = 2., scale_grad_by_freq: bool = False, + sparse: bool = False, _weight: Optional[torch.Tensor] = None, + dtype=None): + super().__init__() + + self.num_embeddings = num_embeddings + self.embedding_dim = embedding_dim + if padding_idx is not None: + if padding_idx > 0: + assert padding_idx < self.num_embeddings, 'Padding_idx must be within num_embeddings' + elif padding_idx < 0: + assert padding_idx >= -self.num_embeddings, 'Padding_idx must be within num_embeddings' + padding_idx = self.num_embeddings + padding_idx + self.padding_idx = padding_idx + self.max_norm = max_norm + self.norm_type = norm_type + self.scale_grad_by_freq = scale_grad_by_freq + if _weight is None: + self.weight = bmt.DistributedParameter(torch.empty(num_embeddings, embedding_dim, dtype=dtype, device="cuda"), init_method=torch.nn.init.normal_) + else: + self.weight = bmt.DistributedParameter(_weight) + + self.sparse = sparse + + @classmethod + def from_pretrained(cls, embeddings, freeze=True, padding_idx=None, + max_norm=None, norm_type=2., scale_grad_by_freq=False, + sparse=False): + r"""Creates Embedding instance from given 2-dimensional FloatTensor. + + Args: + embeddings (Tensor): FloatTensor containing weights for the Embedding. + First dimension is being passed to Embedding as ``num_embeddings``, second as ``embedding_dim``. + freeze (boolean, optional): If ``True``, the tensor does not get updated in the learning process. + Equivalent to ``embedding.weight.requires_grad = False``. Default: ``True`` + padding_idx (int, optional): If specified, the entries at :attr:`padding_idx` do not contribute to the gradient; + therefore, the embedding vector at :attr:`padding_idx` is not updated during training, + i.e. it remains as a fixed "pad". + max_norm (float, optional): See module initialization documentation. + norm_type (float, optional): See module initialization documentation. Default ``2``. + scale_grad_by_freq (boolean, optional): See module initialization documentation. Default ``False``. + sparse (bool, optional): See module initialization documentation. + + Examples:: + + >>> # FloatTensor containing pretrained weights + >>> weight = torch.FloatTensor([[1, 2.3, 3], [4, 5.1, 6.3]]) + >>> embedding = nn.Embedding.from_pretrained(weight) + >>> # Get embeddings for index 1 + >>> input = torch.LongTensor([1]) + >>> embedding(input) + tensor([[ 4.0000, 5.1000, 6.3000]]) + """ + assert embeddings.dim() == 2, \ + 'Embeddings parameter is expected to be 2-dimensional' + rows, cols = embeddings.shape + embedding = cls( + num_embeddings=rows, + embedding_dim=cols, + _weight=embeddings, + padding_idx=padding_idx, + max_norm=max_norm, + norm_type=norm_type, + scale_grad_by_freq=scale_grad_by_freq, + sparse=sparse) + embedding.weight.requires_grad = not freeze + return embedding + + def forward(self, input: torch.Tensor, projection : bool = False) -> torch.Tensor: + if not projection: + out = F.embedding( + input, self.weight, self.padding_idx, self.max_norm, + self.norm_type, self.scale_grad_by_freq, self.sparse) + return out + else: + out = F.linear(input, self.weight) + return out + + def extra_repr(self) -> str: + s = '{num_embeddings}, {embedding_dim}' + if self.padding_idx is not None: + s += ', padding_idx={padding_idx}' + if self.max_norm is not None: + s += ', max_norm={max_norm}' + if self.norm_type != 2: + s += ', norm_type={norm_type}' + if self.scale_grad_by_freq is not False: + s += ', scale_grad_by_freq={scale_grad_by_freq}' + if self.sparse is not False: + s += ', sparse=True' + return s.format(**self.__dict__) + + diff --git a/examples/BMTrain/example/layers/feedforward.py b/examples/BMTrain/example/layers/feedforward.py new file mode 100644 index 00000000..e88d2495 --- /dev/null +++ b/examples/BMTrain/example/layers/feedforward.py @@ -0,0 +1,23 @@ +import torch +import bmtrain as bmt +from bmtrain.nn import ( + Linear, + ColumnParallelLinear, + RowParallelLinear) +from bmtrain.global_var import config + +class Feedforward(bmt.DistributedModule): + def __init__(self, dim_model : int, dim_ff : int, bias : bool = True, dtype = None) -> None: + super().__init__() + + if config['tp_size'] > 1: + self.w_in = ColumnParallelLinear(dim_model, dim_ff, bias = bias, dtype=dtype) + self.w_out = RowParallelLinear(dim_ff, dim_model, bias = bias, dtype=dtype) + else: + self.w_in = Linear(dim_model, dim_ff, bias=bias, dtype=dtype) + self.w_out = Linear(dim_ff, dim_model, bias=bias, dtype=dtype) + + self.relu = torch.nn.ReLU() + + def forward(self, input : torch.Tensor) -> torch.Tensor: + return self.w_out(self.relu(self.w_in(input))) diff --git a/examples/BMTrain/example/layers/layernorm.py b/examples/BMTrain/example/layers/layernorm.py new file mode 100644 index 00000000..9f3e3bc2 --- /dev/null +++ b/examples/BMTrain/example/layers/layernorm.py @@ -0,0 +1,34 @@ +from typing import Tuple +import torch +import torch.nn.functional as F +import bmtrain as bmt + +class Layernorm(bmt.DistributedModule): + __constants__ = ['normalized_shape', 'eps', 'elementwise_affine'] + normalized_shape: Tuple[int, ...] + eps: float + elementwise_affine: bool + + def __init__(self, normalized_shape, eps: float = 1e-5, elementwise_affine: bool = True, + dtype=None) -> None: + super().__init__() + if isinstance(normalized_shape, int): + # mypy error: incompatible types in assignment + normalized_shape = (normalized_shape,) # type: ignore[assignment] + self.normalized_shape = tuple(normalized_shape) # type: ignore[arg-type] + self.eps = eps + self.elementwise_affine = elementwise_affine + if self.elementwise_affine: + self.weight = bmt.DistributedParameter(torch.empty(self.normalized_shape, dtype=dtype, device="cuda"), init_method=torch.nn.init.ones_) + self.bias = bmt.DistributedParameter(torch.empty(self.normalized_shape, dtype=dtype, device="cuda"), init_method=torch.nn.init.zeros_) + else: + self.register_parameter('weight', None) + self.register_parameter('bias', None) + + def forward(self, input: torch.Tensor) -> torch.Tensor: + return F.layer_norm( + input, self.normalized_shape, self.weight, self.bias, self.eps) + + def extra_repr(self) -> str: + return '{normalized_shape}, eps={eps}, ' \ + 'elementwise_affine={elementwise_affine}'.format(**self.__dict__) diff --git a/examples/BMTrain/example/layers/transformer.py b/examples/BMTrain/example/layers/transformer.py new file mode 100644 index 00000000..4cbff59b --- /dev/null +++ b/examples/BMTrain/example/layers/transformer.py @@ -0,0 +1,34 @@ +from typing import Optional +import torch +import bmtrain as bmt +from layers import Layernorm, Feedforward, Attention + +class TransformerEncoder(bmt.DistributedModule): + def __init__(self, + dim_model : int, dim_head : int, num_heads : int, dim_ff : int, + bias : bool = True, dtype = None + ) -> None: + super().__init__() + + self.ln_attn = Layernorm(dim_model, dtype=dtype) + self.attn = Attention(dim_model, dim_head, num_heads, bias=bias, dtype=dtype) + + self.ln_ff = Layernorm(dim_model, dtype=dtype) + self.ff = Feedforward(dim_model, dim_ff, bias=bias, dtype=dtype) + + def forward(self, + hidden : torch.Tensor, # (batch, seq_len, dim_model) + mask : torch.BoolTensor, # (batch, seq_len, dim_model) + position_bias : Optional[torch.Tensor] = None, # (batch, num_head, seq_len, seq_len) + ): + bmt.inspect.record_tensor(hidden, "hidden") + x = self.ln_attn(hidden) + x = self.attn(x, x, mask, position_bias) + hidden = hidden + x + + x = self.ln_ff(hidden) + x = self.ff(x) + hidden = hidden + x.view_as(hidden) + + return hidden + diff --git a/examples/BMTrain/example/models/__init__.py b/examples/BMTrain/example/models/__init__.py new file mode 100644 index 00000000..e7d1dcc9 --- /dev/null +++ b/examples/BMTrain/example/models/__init__.py @@ -0,0 +1 @@ +from .gpt import GPT \ No newline at end of file diff --git a/examples/BMTrain/example/models/gpt.py b/examples/BMTrain/example/models/gpt.py new file mode 100644 index 00000000..ed604382 --- /dev/null +++ b/examples/BMTrain/example/models/gpt.py @@ -0,0 +1,64 @@ +import torch +import bmtrain as bmt +from layers import TransformerEncoder, Layernorm, Embedding, TransformerEncoder +from bmtrain.global_var import config + +class GPT(bmt.DistributedModule): + def __init__(self, + num_layers : int, vocab_size : int, + dim_model : int, dim_head : int, num_heads : int, dim_ff : int, + max_distance : int, + bias : bool = True, dtype = None + ) -> None: + super().__init__() + + self.max_distance = max_distance + + if config["tp_size"] > 1: + self.word_emb = bmt.nn.VPEmbedding(vocab_size, dim_model, dtype=dtype) + else: + self.word_emb = Embedding(vocab_size, dim_model, dtype=dtype) + self.pos_emb = Embedding(max_distance, dim_model, dtype=dtype) + + if config['pipe_size'] > 1: + self.transformers = bmt.PipelineTransformerBlockList([ + bmt.Block( + TransformerEncoder( + dim_model, dim_head, num_heads, dim_ff, bias, dtype + ) + , mode="PIPE" + ) + for _ in range(num_layers) + ]) + else: + self.transformers = bmt.TransformerBlockList([ + bmt.Block( + TransformerEncoder( + dim_model, dim_head, num_heads, dim_ff, bias, dtype + ) + ) + for _ in range(num_layers) + ]) + + self.layernorm = Layernorm(dim_model, dtype=dtype) + + def forward(self, + input : torch.LongTensor, # (batch, seq_len) + pos : torch.LongTensor, # (batch, seq_len) + mask : torch.BoolTensor, # (batch, seq_len) + ) -> torch.Tensor: + + mask_2d = mask[:, None, :] & mask[:, :, None] # (batch, seq_len, seq_len) + mask_2d = mask_2d & (pos[:, None, :] >= pos[:, :, None]) + if config["tp_size"] > 1: + input = input.chunk(config["tp_size"], dim=1)[config["tp_rank"]] + pos = pos.chunk(config["tp_size"], dim=1)[config["tp_rank"]] + out = self.pos_emb(pos) + self.word_emb(input) + + # for layer in self.transformers: + out = self.transformers(out, mask_2d, None) + out = self.layernorm(out) + logits = self.word_emb(out, projection=True) + bmt.inspect.record_tensor(logits, "logits") + + return logits diff --git a/examples/BMTrain/example/run.sh b/examples/BMTrain/example/run.sh new file mode 100644 index 00000000..542e5252 --- /dev/null +++ b/examples/BMTrain/example/run.sh @@ -0,0 +1,3 @@ +export NCCL_P2P_DISABLE=1 +export CUDA_LAUNCH_BLOCKING=1 +torchrun --nnodes=1 --nproc_per_node=4 --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=localhost train.py diff --git a/examples/BMTrain/example/sbatch.sh b/examples/BMTrain/example/sbatch.sh new file mode 100644 index 00000000..3b93d99b --- /dev/null +++ b/examples/BMTrain/example/sbatch.sh @@ -0,0 +1,20 @@ +#!/bin/bash +#SBATCH --job-name=cpm2-test +#SBATCH --partition=rtx2080 + +#SBATCH --nodes=1 +#SBATCH --gpus-per-node=8 + + +MASTER_PORT=30123 +MASTER_HOST=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | head -n 1) + +# load python virtualenv if you have +# source /path/to/python/virtualenv/bin/activate + +# uncomment to print nccl debug info +# export NCCL_DEBUG=info + +srun torchrun --nnodes=$SLURM_JOB_NUM_NODES --nproc_per_node=$SLURM_GPUS_PER_NODE --rdzv_id=$SLURM_JOB_ID --rdzv_backend=c10d --rdzv_endpoint=$MASTER_HOST:$MASTER_PORT train.py + + diff --git a/examples/BMTrain/example/train.py b/examples/BMTrain/example/train.py new file mode 100644 index 00000000..d5906a06 --- /dev/null +++ b/examples/BMTrain/example/train.py @@ -0,0 +1,138 @@ +import torch +import bmtrain as bmt +from models import GPT +import time +from bmtrain import optim +from bmtrain.global_var import config +from bmtrain import inspect + +def main(): + bmt.init_distributed( + seed=0, + tp_size=2, + ) + + model = GPT( + num_layers=8, + vocab_size=10240, + dim_model=2560, + dim_head=80, + num_heads=32, + dim_ff=8192, + max_distance=1024, + bias=True, + dtype=torch.half + ) + + bmt.init_parameters(model) + + bmt.print_rank("Model memory") + bmt.print_rank(torch.cuda.memory_summary()) + bmt.synchronize() + + # data + # generate dummy data for each rank + torch.manual_seed(1234) + + batch_size = 2 + seq_len = 512 + world_size = bmt.config["world_size"] if bmt.config["tp_size"] == 1 else bmt.config["tp_zero_size"] + r = bmt.config["rank"] if bmt.config["tp_size"] == 1 else bmt.config["tp_zero_rank"] + + for i in range(world_size): + sent = torch.randint(0, 10240, (batch_size, seq_len + 1)) + enc_length = torch.randint(128, seq_len, (batch_size,)).long().cuda() + enc_input = sent[:, :-1].long().cuda() + targets = sent[:, 1:].long().cuda() + mask = torch.arange(seq_len).long().cuda()[None, :] < enc_length[:, None] + targets = torch.where( + mask, + targets, + torch.full_like(targets, -100, dtype=torch.long) + ) + + if i == r: + break + + if config['tp_size'] > 1: + loss_func = bmt.loss.FusedCrossEntropy(ignore_index=-100, parallel=True) + else: + loss_func = torch.nn.CrossEntropyLoss(ignore_index=-100) + + optimizer = optim.AdamOffloadOptimizer(model.parameters(), weight_decay=1e-2) + lr_scheduler = bmt.lr_scheduler.Noam(optimizer, start_lr=1e-3, warmup_iter=40, end_iter=1000, num_iter=0) + + optim_manager = optim.OptimManager(loss_scale=2**20) + optim_manager.add_optimizer(optimizer, lr_scheduler) + + bmt.synchronize() + + avg_time_recorder = bmt.utils.AverageRecorder() + avg_loss_recorder = bmt.utils.AverageRecorder() + + for iteration in range(1000): + # load data + st = time.time() + + with inspect.inspect_tensor() as inspector: + pos = torch.arange(enc_input.size(1)).long().cuda().repeat(enc_input.size(0), 1) + logits = model( + enc_input, + pos, + pos < enc_length[:, None] + ) + batch, seq_len, vocab_out_size = logits.size() + + if config['tp_size'] > 1: + loss = loss_func(logits.view(batch * seq_len, vocab_out_size), targets.view(batch * seq_len)) + else: + loss = loss_func(logits.float().view(batch * seq_len, vocab_out_size), targets.view(batch * seq_len)) + + global_loss = bmt.sum_loss(loss).item() + + optim_manager.zero_grad() + + optim_manager.backward(loss) + + # print inspected tensors in the forward & backward pass + # print parameters of the model + if iteration % 100 == 0: + bmt.print_rank( + inspect.format_summary( + inspector.get_summary() + ) + ) + bmt.print_rank( + inspect.format_summary( + inspect.inspect_model(model, "*") + ) + ) + + optim_manager.step() + + # record time and loss + iteration_time = time.time() - st + + avg_time_recorder.record(iteration_time) + avg_loss_recorder.record(global_loss) + + # print time and loss + bmt.print_rank( + "| Iter: {:6d} | loss: {:.4f} average_loss: {:.4f} | lr: {:.4e} scale: {:10.4f} | time: {:.4f}".format( + iteration, + global_loss, + avg_loss_recorder.value, + lr_scheduler.current_lr, + optim_manager.loss_scale, + avg_time_recorder.value + ) + ) + + # save model + if iteration % 1000 == 0: + bmt.save(model, "ckpt-%d.pt" % iteration) + + bmt.save(model, "checkpoint.pt") + +if __name__ == '__main__': + main() diff --git a/examples/BMTrain/other_requirements.txt b/examples/BMTrain/other_requirements.txt new file mode 100644 index 00000000..6654b1ac --- /dev/null +++ b/examples/BMTrain/other_requirements.txt @@ -0,0 +1,6 @@ +tqdm +cpm_kernels>=1.0.11 +jieba +tensorboard +setuptools_rust +transformers \ No newline at end of file diff --git a/examples/BMTrain/pyproject.toml b/examples/BMTrain/pyproject.toml new file mode 100644 index 00000000..b563eb32 --- /dev/null +++ b/examples/BMTrain/pyproject.toml @@ -0,0 +1,8 @@ +[build-system] +requires = [ + "setuptools", + "pybind11", + "nvidia-nccl-cu11 >= 2.14.3", + "cmake > 3.27.0" +] +build-backend = "setuptools.build_meta" diff --git a/examples/BMTrain/setup.py b/examples/BMTrain/setup.py new file mode 100644 index 00000000..70752ff6 --- /dev/null +++ b/examples/BMTrain/setup.py @@ -0,0 +1,113 @@ +import os +import shutil +from setuptools.command.build_ext import build_ext +from setuptools import setup, find_packages, Extension +import setuptools +import warnings +import sys +import subprocess +class CMakeExtension(Extension): + def __init__(self, name, sourcedir=""): + Extension.__init__(self, name, sources=[]) + self.sourcedir = os.path.abspath(sourcedir) + + +def is_ninja_available(): + r''' + Returns ``True`` if the `ninja <https://ninja-build.org/>`_ build system is + available on the system, ``False`` otherwise. + ''' + with open(os.devnull, 'wb') as devnull: + try: + subprocess.check_call('ninja --version'.split(), stdout=devnull) + except OSError: + return False + else: + return True + + +class CMakeBuild(build_ext): + + def build_extension(self, ext): + extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name))) + + # required for auto-detection & inclusion of auxiliary "native" libs + if not extdir.endswith(os.path.sep): + extdir += os.path.sep + + debug = int(os.environ.get("DEBUG", 0)) if self.debug is None else self.debug + cfg = "Debug" if debug else "Release" + + # CMake lets you override the generator - we need to check this. + # Can be set with Conda-Build, for example. + cmake_generator = os.environ.get("CMAKE_GENERATOR", "") + + # Set Python_EXECUTABLE instead if you use PYBIND11_FINDPYTHON + # EXAMPLE_VERSION_INFO shows you how to pass a value into the C++ code + # from Python. + cmake_args = [ + f"-DCMAKE_CXX_STANDARD=14", + f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={extdir}", + f"-DPYTHON_EXECUTABLE={sys.executable}", + f"-DPYTHON_VERSION={sys.version_info.major}.{sys.version_info.minor}", + f"-DCMAKE_BUILD_TYPE={cfg}", # not used on MSVC, but no harm + ] + + build_args = [] + if "CMAKE_ARGS" in os.environ: + cmake_args += [item for item in os.environ["CMAKE_ARGS"].split(" ") if item] + + cmake_args += [f"-DEXAMPLE_VERSION_INFO={self.distribution.get_version()}"] + + + if not cmake_generator or cmake_generator == "Ninja": + try: + import ninja # noqa: F401 + + ninja_executable_path = os.path.join(ninja.BIN_DIR, "ninja") + cmake_args += [ + "-GNinja", + f"-DCMAKE_MAKE_PROGRAM:FILEPATH={ninja_executable_path}", + ] + except ImportError: + pass + + if "CMAKE_BUILD_PARALLEL_LEVEL" not in os.environ: + # self.parallel is a Python 3 only way to set parallel jobs by hand + # using -j in the build_ext call, not supported by pip or PyPA-build. + if hasattr(self, "parallel") and self.parallel: + # CMake 3.12+ only. + build_args += [f"-j{self.parallel}"] + + build_temp = os.path.join(self.build_temp, ext.name) + if os.path.exists(build_temp): + shutil.rmtree(build_temp) + os.makedirs(build_temp) + + cmake_args += ["-DPython_ROOT_DIR=" + os.path.dirname(os.path.dirname(sys.executable))] + subprocess.check_call(["cmake", ext.sourcedir] + cmake_args, cwd=build_temp) + subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=build_temp) + +ext_modules = [ + CMakeExtension("bmtrain.C"), +] +setup( + name='bmtrain', + version='1.0.1', + author="Guoyang Zeng", + author_email="qbjooo@qq.com", + description="A toolkit for training big models", + packages=find_packages(), + install_requires=[ + "numpy", + "nvidia-nccl-cu11>=2.14.3" + ], + setup_requires=[ + "pybind11", + "nvidia-nccl-cu11>=2.14.3" + ], + ext_modules=ext_modules, + cmdclass={ + 'build_ext': CMakeBuild + }) + diff --git a/examples/BMTrain/tests/test_all.py b/examples/BMTrain/tests/test_all.py new file mode 100644 index 00000000..db5d2dd4 --- /dev/null +++ b/examples/BMTrain/tests/test_all.py @@ -0,0 +1,43 @@ +import subprocess +from tqdm import tqdm + + +tq = tqdm([ + ("different_output_shape", 1), + ("load_ckpt", 1), + ("init_parameters", 1), + ("synchronize", 4), + ("init_parameters_multi_gpu", 4), + ("optim_state", 4), + + ("requires_grad", 1), + ("requires_grad_multi_gpu", 2), + ("has_inf_nan", 1), + ("dropout", 1), + ("loss_func", 1), + + ("optim", 1), + + ("multi_return", 2), + ("middle_hidden", 4), + ("other_hidden", 4), + + ("model_wrapper", 4), + + ("send_recv", 4), + ("nccl_backward", 4), + ("no_grad", 1), + ("column_parallel_linear", 2), + ("row_parallel_linear", 2), + ("parallel_projection", 4), + + ("training", 4), +]) + +for t, num_gpu in tq: + PREFIX = f"python3 -m torch.distributed.launch --nnodes=1 --node_rank=0 --nproc_per_node={num_gpu} --master_addr=localhost --master_port=32123" + SUFFIX = f"> test_log.txt 2>&1" + command = f"{PREFIX} test_{t}.py {SUFFIX}" + completedProc = subprocess.run(command, shell=True) + assert completedProc.returncode == 0, f"test {t} failed, see test_log.txt for more details." + print(f"finish testing {t}") diff --git a/examples/BMTrain/tests/test_column_parallel_linear.py b/examples/BMTrain/tests/test_column_parallel_linear.py new file mode 100644 index 00000000..5f2fdad1 --- /dev/null +++ b/examples/BMTrain/tests/test_column_parallel_linear.py @@ -0,0 +1,74 @@ +import torch +import bmtrain as bmt +from bmtrain.global_var import config +import numpy as np + +def run_bmt(x, gather_input, gather_output, ckp_path, tp_size=2): + linear = bmt.nn.ColumnParallelLinear(8,8, gather_input=gather_input, gather_output=gather_output) + linear = bmt.Block(linear) + bmt.init_parameters(linear) + y = linear(x) + y.sum().backward() + bmt.save(linear, ckp_path) + bmt.synchronize() + return y, linear._parameters['weight'].grad, linear._parameters['bias'].grad + +def run_torch(x, ckp_path): + linear = torch.nn.Linear(8, 8) + linear_dict = torch.load(ckp_path) + linear.load_state_dict(linear_dict) + linear = linear.cuda() + linear.weight.requires_grad_() + y = linear(x) + y.sum().backward() + return y, linear.weight.grad, linear.bias.grad + +def run(gather_input, gather_output, ckp_path): + torch.cuda.manual_seed(100) + tp_size = config["tp_size"] + tp_rank = config['topology'].tp_id + x = torch.randn(8, 8, 8, device='cuda') + bmt_x = x.clone() + if gather_input: + rank_x = bmt_x.chunk(tp_size, dim=0)[tp_rank] + else: + rank_x = bmt_x + rank_x.requires_grad_() + x.requires_grad_() + y1, weight_grad1, bias_grad1 = run_bmt(rank_x, gather_input, gather_output, ckp_path) + y2, weight_grad2, bias_grad2 = run_torch(x, ckp_path) + tp_rank = config['topology'].tp_id + if gather_output: + assert np.allclose(y1.detach().cpu().numpy(), y2.detach().cpu().numpy()) + else: + torch_out_list = torch.split(y2, y2.size()[-1] // tp_size, dim=-1) + assert np.allclose(y1.detach().cpu().numpy(), torch_out_list[tp_rank].detach().cpu().numpy()) + + weight_grad_list = weight_grad2.chunk(tp_size, dim=0) + assert np.allclose(weight_grad1.reshape(weight_grad_list[tp_rank].shape).cpu().numpy(), weight_grad_list[tp_rank].cpu().numpy()) + + bias_grad_list = bias_grad2.chunk(tp_size, dim=0) + assert np.allclose(bias_grad1.reshape(bias_grad_list[tp_rank].shape).cpu().numpy(), bias_grad_list[tp_rank].cpu().numpy()) + + if gather_input: + x_grad_list = x.grad.chunk(tp_size, dim=0) + np.testing.assert_allclose(rank_x.grad.cpu().numpy(), x_grad_list[tp_rank].cpu().numpy(), atol=1e-4, rtol=1e-4) + else: + np.testing.assert_allclose(rank_x.grad.cpu().numpy(), x.grad.cpu().numpy(), atol=1e-4, rtol=1e-4) + +def test_gather_output(): + run(True, True, 'linear.ckp') + +def test_no_gather_output(): + run(True, False, 'linear_no_gather.ckp') + +def test_no_gather_input(): + run(False, True, 'linear.ckp') + + +if __name__ == "__main__": + bmt.init_distributed(tp_size=2) + test_gather_output() + test_no_gather_output() + test_no_gather_input() + diff --git a/examples/BMTrain/tests/test_different_output_shape.py b/examples/BMTrain/tests/test_different_output_shape.py new file mode 100644 index 00000000..bb8ab7fa --- /dev/null +++ b/examples/BMTrain/tests/test_different_output_shape.py @@ -0,0 +1,50 @@ +import torch +import bmtrain as bmt + +class Block0(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, x): + return x + +class Block1(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, x): + return (x,) + +class Block2(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, x): + return (x, x) + +class Block10(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, x): + return [x, x, x, x, x, x, x, x, x, x] + +if __name__ == "__main__": + bmt.init_distributed() + x = torch.tensor([1,2,3.]) + + b = bmt.Block(Block0()) + y = b(x) + assert isinstance(y, torch.Tensor) + + b = bmt.Block(Block1()) + y = b(x) + assert isinstance(y, tuple) and len(y)==1 + + b = bmt.Block(Block2()) + y = b(x) + assert isinstance(y, tuple) and len(y)==2 + + b = bmt.Block(Block10()) + y = b(x) + assert isinstance(y, tuple) and len(y)==10 diff --git a/examples/BMTrain/tests/test_dropout.py b/examples/BMTrain/tests/test_dropout.py new file mode 100644 index 00000000..d29240a1 --- /dev/null +++ b/examples/BMTrain/tests/test_dropout.py @@ -0,0 +1,45 @@ +from utils import * + +import torch +import bmtrain as bmt + +class InnerModule(bmt.DistributedModule): + def __init__(self): + super().__init__() + + self.drop = torch.nn.Dropout(p=0.5) + + def forward(self, x): + return self.drop(x) + +class OutterModule(bmt.DistributedModule): + def __init__(self) -> None: + super().__init__() + + self.blk = bmt.TransformerBlockList([ + bmt.Block(InnerModule()) + for _ in range(5) + ]) + + def forward(self, x): + return self.blk(x) + +def test_main(): + model = OutterModule() + + for _ in range(5): + model.train() + x = torch.ones(32, device="cuda") + y = model(x) + print(y) + assert_neq(x.numel()-y.nonzero().size(0), 0) + + model.eval() + x = torch.ones(32, device="cuda") + y = model(x) + print(y) + assert_eq(x.numel()-y.nonzero().size(0), 0) + +if __name__ == "__main__": + bmt.init_distributed() + test_main() diff --git a/examples/BMTrain/tests/test_grad_accu.py b/examples/BMTrain/tests/test_grad_accu.py new file mode 100644 index 00000000..48dbe8ac --- /dev/null +++ b/examples/BMTrain/tests/test_grad_accu.py @@ -0,0 +1,80 @@ +import bmtrain as bmt +import torch +from bmtrain import config +from bmtrain.block_layer import CheckpointBlockContext, CheckpointBlock, TransformerBlockList +from bmtrain.pipe_layer import PipelineTransformerBlockList +from typing import List +import torch.nn.functional as F +def print_rank0(s): + if bmt.rank() == 0: + print(s) +class Linear(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, init_weight = None, init_bias = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.out = {} + if init_weight: + self.weight = bmt.DistributedParameter(torch.tensor(init_weight, dtype=torch.float, device="cuda").reshape(out_features, in_features)) + else: + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.xavier_normal_) + + if init_bias: + self.bias = bmt.DistributedParameter(torch.tensor(init_bias, dtype=torch.float, device="cuda").reshape(out_features,)) + else: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.zeros_) + + def forward(self, input): + ret = F.linear(input, self.weight, self.bias) + return ret + +def test_grad_accu(): + # normal distribute module + m = Linear(256, 256) + inp = torch.randn((1, 10, 256), device="cuda") + logits = m(inp) + loss = logits.sum() + loss.backward() + grad1 = m._parameters["weight"].grad.clone() + logits = m(inp) + loss = logits.sum() + loss.backward() + grad2 = m._parameters["weight"].grad + assert torch.allclose(grad1*2, grad2) + print_rank0("grad accumulation for distribute module passed") + # checkpoint block + m = CheckpointBlock(Linear(256, 256)) + inp = torch.randn((1, 10, 256), device="cuda") + logits = m(inp) + loss = logits.sum() + loss.backward() + bmt.synchronize() + grad1 = m.weight.grad.clone() + logits = m(inp) + loss = logits.sum() + loss.backward() + bmt.synchronize() + grad2 = m.weight.grad.clone() + assert torch.allclose(grad1*2, grad2) + print_rank0("grad accumulation for checkpointblock passed") + # transformer block list + m = TransformerBlockList([CheckpointBlock(Linear(256, 256))]) + inp = torch.randn((1, 10, 256), device="cuda") + logits = m(inp) + loss = logits.sum() + loss.backward() + bmt.synchronize() + grad1 = m[0].weight.grad.clone() + logits = m(inp) + loss = logits.sum() + loss.backward() + bmt.synchronize() + grad2 = m[0].weight.grad + assert torch.allclose(grad1*2, grad2) + print_rank0("grad accumulation for TransformerBlockList passed") + + +if __name__ == "__main__": + bmt.init_distributed() + test_grad_accu() \ No newline at end of file diff --git a/examples/BMTrain/tests/test_has_inf_nan.py b/examples/BMTrain/tests/test_has_inf_nan.py new file mode 100644 index 00000000..93ac8118 --- /dev/null +++ b/examples/BMTrain/tests/test_has_inf_nan.py @@ -0,0 +1,37 @@ +from utils import * +import torch +import bmtrain.loss._function as F +import random + +def check(x, v): + out = torch.zeros(1, dtype=torch.uint8, device="cuda")[0] + F.has_inf_nan(x, out) + assert_eq(out.item(), v) + +def test_main(dtype): + for i in list(range(1, 100)) + [1000]*10 + [10000]*10 + [100000]*10 + [1000000]*10: + x = torch.rand((i,)).to(dtype).cuda() + check(x, 0) + p = random.randint(0, i-1) + x[p] = x[p] / 0 + check(x, 1) + x[p] = 2 + check(x, 0) + p = random.randint(0, i-1) + x[p] = 0 + x[p] = x[p] / 0 + check(x, 1) + p = random.randint(0, i-1) + x[p] = x[p] / 0 + p = random.randint(0, i-1) + x[p] = x[p] / 0 + check(x, 1) + print("That's right") + +if __name__ == "__main__": + test_main(torch.float16) + print("==============================================================================") + try: + test_main(torch.bfloat16) + except NotImplementedError: + pass diff --git a/examples/BMTrain/tests/test_init_parameters.py b/examples/BMTrain/tests/test_init_parameters.py new file mode 100644 index 00000000..b67431f2 --- /dev/null +++ b/examples/BMTrain/tests/test_init_parameters.py @@ -0,0 +1,223 @@ +from utils import * + +import torch +import torch.nn.functional as F +import bmtrain as bmt + +def manual_seed(seed=33): + torch.manual_seed(seed) + import random as random + random.seed(seed) + try: + import numpy as np + np.random.seed(seed) + except ModuleNotFoundError: + pass + +class Linear_NormalInitBefore(torch.nn.Module): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + w = torch.empty(out_features, in_features, dtype=dtype, device="cuda") # use cuda to match random algorithm + torch.nn.init.xavier_normal_(w) + self.weight = torch.nn.Parameter(w) + if bias: + b = torch.empty(out_features, dtype=dtype, device="cuda") # use cuda to match random algorithm + torch.nn.init.zeros_(b) + self.bias = torch.nn.Parameter(b) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + +class Linear_NormalInitAfter(torch.nn.Module): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = torch.nn.Parameter(torch.empty(out_features, in_features, dtype=dtype, device="cuda")) # use cuda to match random algorithm + torch.nn.init.xavier_normal_(self.weight) + if bias: + self.bias = torch.nn.Parameter(torch.empty(out_features, dtype=dtype, device="cuda")) # use cuda to match random algorithm + torch.nn.init.zeros_(self.bias) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + +class Linear_BMTInitializer(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=dtype), init_method=torch.nn.init.xavier_normal_) + if bias: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=dtype), init_method=torch.nn.init.zeros_) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + +class Linear_ManualInitBefore(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + w = torch.empty(out_features, in_features, dtype=dtype, device="cuda") # use cuda to match random algorithm + torch.nn.init.xavier_normal_(w) + self.weight = bmt.DistributedParameter(w) + if bias: + b = torch.empty(out_features, dtype=dtype, device="cuda") # use cuda to match random algorithm + torch.nn.init.zeros_(b) + self.bias = bmt.DistributedParameter(b) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + +class Linear_ManualInitAfter(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=dtype, device="cuda")) # use cuda to match random algorithm + # torch.nn.init.xavier_normal_(self.weight) + if bias: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=dtype, device="cuda")) # use cuda to match random algorithm + # torch.nn.init.zeros_(self.bias) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + + def extra_repr(self) -> str: + return 'in_features={}, out_features={}, bias={}'.format( + self.in_features, self.out_features, self.bias is not None + ) + +class Linear_Pipeline(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = bmt.PipelineTransformerBlockList([ + Linear_BMTInitializer(in_features, out_features, bias, dtype), + Linear_BMTInitializer(in_features, out_features, bias, dtype), + ]) + + def forward(self, input): + return self.l(input) + +class Linear_BlockList(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = bmt.TransformerBlockList([ + Linear_BMTInitializer(in_features, out_features, bias, dtype), + Linear_BMTInitializer(in_features, out_features, bias, dtype), + ]) + + def forward(self, input): + return self.l(input) + +class Linear_CheckpointList(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = torch.nn.ModuleList([ + bmt.CheckpointBlock(Linear_BMTInitializer(in_features, out_features, bias, dtype)), + bmt.CheckpointBlock(Linear_BMTInitializer(in_features, out_features, bias, dtype)), + ]) + + def forward(self, input): + return self.l(input) + +class Linear_Checkpoint(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = bmt.CheckpointBlock(Linear_BMTInitializer(in_features, out_features, bias, dtype)) + + def forward(self, input): + return self.l(input) + +def test_main(): + shape = [3, 5] + # torch + m = [None] * 10 + ret = [None] * 10 + manual_seed(33) + m[0] = Linear_NormalInitBefore(*shape) + ret[0] = (m[0].weight.data, m[0].bias.data) + + manual_seed(33) + m[1] = Linear_NormalInitAfter(*shape) + ret[1] = (m[1].weight.data, m[1].bias.data) + + # bmtrain + manual_seed(33) + m[2] = Linear_BMTInitializer(*shape) + bmt.init_parameters(m[2]) + bmt.synchronize() + ret[2] = (m[2].weight.data, m[2].bias.data) + + manual_seed(33) + m[3] = Linear_ManualInitBefore(*shape) + bmt.synchronize() + ret[3] = (m[3].weight.data, m[3].bias.data) + + # manual_seed(33) + # mw = Linear_ManualInitAfter(*shape) # not supported + # print(mw.weight.data, mw.bias.data) + + manual_seed(33) + m[4] = bmt.BMTrainModelWrapper(m[0]) + ret[4] = (m[4].weight.data, m[4].bias.data) + + manual_seed(33) + m[5] = bmt.BMTrainModelWrapper(m[1]) + ret[5] = (m[5].weight.data, m[5].bias.data) + + manual_seed(33) + m[6] = Linear_Pipeline(*shape) + bmt.init_parameters(m[6]) + ret[6] = (m[6].l[0].weight.data, m[6].l[0].bias.data) + + manual_seed(33) + m[7] = Linear_BlockList(*shape) + bmt.init_parameters(m[7]) + ret[7] = (m[7].l[0].weight.data, m[7].l[0].bias.data) + + manual_seed(33) + m[8] = Linear_CheckpointList(*shape) + bmt.init_parameters(m[8]) + ret[8] = (m[8].l[0].weight.data, m[8].l[0].bias.data) + + manual_seed(33) + m[9] = Linear_Checkpoint(*shape) + bmt.init_parameters(m[9]) + ret[9] = (m[9].l.weight.data, m[9].l.bias.data) + + for i in range(10): + ret[i] = ( ret[i][0].view(-1), ret[i][1].view(-1) ) + print(ret[i]) + for i in range(10): + for j in range(10): + print(i, j) + assert_all_eq(ret[i][0], ret[j][0]) + assert_all_eq(ret[i][1], ret[j][1]) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=1) + + test_main() \ No newline at end of file diff --git a/examples/BMTrain/tests/test_init_parameters_multi_gpu.py b/examples/BMTrain/tests/test_init_parameters_multi_gpu.py new file mode 100644 index 00000000..1e61568c --- /dev/null +++ b/examples/BMTrain/tests/test_init_parameters_multi_gpu.py @@ -0,0 +1,146 @@ +from utils import * + +import os +import torch +import torch.nn.functional as F +import bmtrain as bmt + +def manual_seed(seed=33): + torch.manual_seed(seed) + import random as random + random.seed(seed) + try: + import numpy as np + np.random.seed(seed) + except ModuleNotFoundError: + pass + +class Linear_Normal(torch.nn.Module): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = torch.nn.Parameter(torch.empty(out_features, in_features, dtype=dtype, device="cuda")) # use cuda to match random algorithm + torch.nn.init.xavier_normal_(self.weight) + if bias: + self.bias = torch.nn.Parameter(torch.empty(out_features, dtype=dtype, device="cuda")) # use cuda to match random algorithm + torch.nn.init.zeros_(self.bias) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + +class Linear_BMTInitializer(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=dtype), init_method=torch.nn.init.xavier_normal_) + if bias: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=dtype), init_method=torch.nn.init.zeros_) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + +class Linear_NormalList(torch.nn.Module): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = torch.nn.ModuleList([ + Linear_Normal(in_features, out_features, bias, dtype), + Linear_Normal(in_features, out_features, bias, dtype), + ]) + + def forward(self, input): + return self.l(input) + +class Linear_Pipeline(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = bmt.PipelineTransformerBlockList([ + Linear_BMTInitializer(in_features, out_features, bias, dtype), + Linear_BMTInitializer(in_features, out_features, bias, dtype), + ]) + + def forward(self, input): + return self.l(input) + +class Linear_BlockList(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = bmt.TransformerBlockList([ + Linear_BMTInitializer(in_features, out_features, bias, dtype), + Linear_BMTInitializer(in_features, out_features, bias, dtype), + ]) + + def forward(self, input): + return self.l(input) + +class Linear_CheckpointList(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.l = torch.nn.ModuleList([ + bmt.CheckpointBlock(Linear_BMTInitializer(in_features, out_features, bias, dtype)), + bmt.CheckpointBlock(Linear_BMTInitializer(in_features, out_features, bias, dtype)), + ]) + + def forward(self, input): + return self.l(input) + +def check(ckpt_path, ckpt_path_ref): + if bmt.rank() == 0: + ckpt1 = torch.load(ckpt_path) + ckpt2 = torch.load(ckpt_path_ref) + for (k1, v1), (k2, v2) in zip(ckpt1.items(), ckpt2.items()): + assert_eq(k1, k2) + print(v1, v2) + assert_all_eq(v1.cuda(), v2.cuda()) + +def test_main(): + ckpt_path_ref = "test_ckpt_ref.pt" + ckpt_path = "test_ckpt.pt" + shape = [3, 5] + # torch + m = [None] * 4 + ret = [None] * 4 + + manual_seed(33) + m[0] = Linear_NormalList(*shape) + if bmt.rank() == 0: + torch.save(m[0].state_dict(), ckpt_path_ref) + + manual_seed(33) + m[1] = Linear_Pipeline(*shape) + bmt.init_parameters(m[1]) + bmt.save(m[1], ckpt_path) + check(ckpt_path, ckpt_path_ref) + + # bmtrain + manual_seed(33) + m[2] = Linear_BlockList(*shape) + bmt.init_parameters(m[2]) + bmt.save(m[2], ckpt_path) + check(ckpt_path, ckpt_path_ref) + + manual_seed(33) + m[3] = Linear_CheckpointList(*shape) + bmt.init_parameters(m[3]) + bmt.save(m[3], ckpt_path) + check(ckpt_path, ckpt_path_ref) + + if bmt.rank() == 0: + os.remove(ckpt_path) + os.remove(ckpt_path_ref) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=2) + + test_main() \ No newline at end of file diff --git a/examples/BMTrain/tests/test_inspector_hidden.py b/examples/BMTrain/tests/test_inspector_hidden.py new file mode 100644 index 00000000..62e03656 --- /dev/null +++ b/examples/BMTrain/tests/test_inspector_hidden.py @@ -0,0 +1,241 @@ +from utils import * + +import bmtrain as bmt +import random +import torch +from bmtrain import config +from bmtrain.block_layer import Block, TransformerBlockList +from bmtrain.pipe_layer import PipelineTransformerBlockList +import torch.nn.functional as F +from bmtrain import inspect + +class Linear(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, init_weight = None, init_bias = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.out = {} + if init_weight: + self.weight = bmt.DistributedParameter(torch.tensor(init_weight, dtype=torch.float, device="cuda").reshape(out_features, in_features)) + else: + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.xavier_normal_) + + if init_bias: + self.bias = bmt.DistributedParameter(torch.tensor(init_bias, dtype=torch.float, device="cuda").reshape(out_features,)) + else: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.zeros_) + + def forward(self, input): + ret = F.linear(input, self.weight, self.bias) + return ret + +class L2(bmt.DistributedModule): + def __init__(self, dim : int): + super().__init__() + self.m1 = Linear(dim, dim) + self.m2 = Linear(dim, dim) + + def forward(self, x): + x = self.m1(x) + x = self.m2(x) + return x + +class L2_record(bmt.DistributedModule): + def __init__(self, dim : int): + super().__init__() + self.m1 = Linear(dim, dim) + self.m2 = Linear(dim, dim) + + def forward(self, x): + x = self.m1(x) + inspect.record_tensor(x, "hidden") + x = self.m2(x) + return x + +class Model_ZERO(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = TransformerBlockList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + if return_hidden_states: + x, o = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x), o + else: + x = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x) + +class Model_PIPE(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = PipelineTransformerBlockList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + if return_hidden_states: + x, o = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x), o + else: + x = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x) + +class Model_BLOCK(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = torch.nn.ModuleList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + o = [] + y = x + for m in self.ms: + o.append(y) + y = m(y) + if return_hidden_states: + return self.post(y), o + else: + return self.post(y) + +class Model_NORMAL(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = torch.nn.ModuleList(ms) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + o = [] + y = x + for m in self.ms: + o.append(y) + y = m(y) + if return_hidden_states: + return self.post(y), o + else: + return self.post(y) + +def manual_seed(seed=33): + torch.manual_seed(seed) + random.seed(seed) + try: + import numpy as np + np.random.seed(seed) + except ModuleNotFoundError: + pass + +def sub_run(name, cls, num_layer, dim, batch, seq_len): + manual_seed() + + pre = Linear(dim, dim) + post = Linear(dim, dim) + ms = [L2_record(dim) if i%2==0 else L2(dim) for i in range(num_layer)] + + inp = torch.randn((batch, seq_len, dim)).cuda() + last_weight = torch.randn((batch, seq_len, dim)).cuda() + middle_weight = [ + torch.randn((batch, seq_len, dim)).cuda() + for i in range(len(ms)//2) + ] + + bmt.init_parameters(pre) + bmt.init_parameters(post) + for m in ms: + bmt.init_parameters(m) + m = cls(pre, [m for m in ms], post) + ret = "" + with inspect.inspect_tensor() as inspector: + logits = m(inp) + + ret += inspect.format_summary( + inspector.get_summary() + ) + "\n" + + loss = 0 + for i in range(len(ms)//2): + loss = loss + (inspector.summary[i]['tensor'] * middle_weight[i]).sum() + + with inspect.inspect_tensor(): + loss.backward() + + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + "\n" + ret += inspect.format_summary( + inspector.get_summary() + ) + "\n" + + with inspect.inspect_tensor() as inspector: + logits = m(inp) + + ret += inspect.format_summary( + inspector.get_summary() + ) + "\n" + + loss = (logits * last_weight).sum() + + with inspect.inspect_tensor(): + loss.backward() + + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + "\n" + ret += inspect.format_summary( + inspector.get_summary() + ) + "\n" + + return ret + "\n" # replace for matching None grad with zero_grad + +def run(name, cls, num_layer=4, dim=4096, batch=32, seq_len=256): + ret = "" + ret += sub_run(name, cls, num_layer=num_layer, dim=dim, batch=batch, seq_len=seq_len) + bmt.synchronize() + return ret + +def test_main(): + ret = {} + ret["normal"] = run("normal", Model_NORMAL) + ret["block"] = run("block", Model_BLOCK) + ret["zero"] = run("zero", Model_ZERO) + ret["pipe"] = run("pipe", Model_PIPE) + for k, r in ret.items(): + bmt.print_rank(f"============={k}============") + bmt.print_rank(r) + for r in ret.values(): + for r2 in ret.values(): + lines, lines2 = r.split('\n'), r2.split('\n') + assert len(lines) == len(lines2) + for line, line2 in zip(lines, lines2): + words, words2 = line.split(), line2.split() + assert len(words) == len(words2) + for w, w2 in zip(words, words2): + try: + is_float = isinstance(eval(w), float) + except: + is_float = False + if is_float: + assert_lt(abs(float(w)-float(w2)), 0.00011) + else: + assert_eq(w, w2) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=2) + + test_main() diff --git a/examples/BMTrain/tests/test_load_ckpt.py b/examples/BMTrain/tests/test_load_ckpt.py new file mode 100644 index 00000000..0eb4f95f --- /dev/null +++ b/examples/BMTrain/tests/test_load_ckpt.py @@ -0,0 +1,78 @@ +from utils import * +import torch +import torch.nn.functional as F +import bmtrain as bmt +import os + +class Linear_Normal(torch.nn.Module): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = torch.nn.Parameter(torch.empty(out_features, in_features, dtype=dtype, device="cuda")) + torch.nn.init.xavier_normal_(self.weight) + if bias: + self.bias = torch.nn.Parameter(torch.empty(out_features, dtype=dtype, device="cuda")) + torch.nn.init.zeros_(self.bias) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + +class Linear_BMT(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, bias: bool = True, dtype = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=dtype), init_method=torch.nn.init.xavier_normal_) + if bias: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=dtype), init_method=torch.nn.init.zeros_) + else: + self.register_parameter('bias', None) + + def forward(self, input): + return F.linear(input, self.weight, self.bias) + + +def test_main(): + ckpt_path = "test_ckpt.pt" + # Transformer BlockList + m = Linear_Normal(256, 256).cuda() + m2 = bmt.TransformerBlockList([bmt.Block(Linear_BMT(256, 256))]) + if bmt.rank() == 0: + torch.save(m.state_dict(), ckpt_path) + dic2 = m.state_dict() + dic2["0.weight"] = dic2.pop("weight") + dic2["0.bias"] = dic2.pop("bias") + m2.load_state_dict(dic2) + for key in m.state_dict(): + bmt_key = f"0.{key}" + assert bmt_key in m2.state_dict(), "wrong key in bmtrain model" + assert (m2.state_dict()[bmt_key].cuda() == m.state_dict()[key]).all() , "wrong param in bmtrain model" + if bmt.rank() == 0: + os.remove(ckpt_path) + print("Transformer Blocklist load_state_dict and state_dict test passed") + + # Block + m3 = bmt.Block(Linear_BMT(256, 256)) + m3.load_state_dict(m.state_dict()) + for key in m.state_dict(): + assert key in m3.state_dict(), "wrong key in bmtrain model" + assert (m.state_dict()[key] == m3.state_dict()[key].cuda()).all(), "wrong param in bmtrain model" + print("Block load_state_dict and state_dict test passed") + + # normal Distributed module + m4 = Linear_BMT(256, 256) + m4.load_state_dict(m.state_dict()) + for key in m.state_dict(): + assert key in m4.state_dict(), "wrong key in bmtrain model" + assert (m.state_dict()[key] == m4.state_dict()[key].cuda()).all(), "wrong param in bmtrain model" + print("bmt.distributedmodule load_state_dict and state_dict test passed") + +if __name__ == "__main__": + bmt.init_distributed() + + test_main() diff --git a/examples/BMTrain/tests/test_loss_func.py b/examples/BMTrain/tests/test_loss_func.py new file mode 100644 index 00000000..a448b6d1 --- /dev/null +++ b/examples/BMTrain/tests/test_loss_func.py @@ -0,0 +1,79 @@ +from utils import * + +import torch +import bmtrain as bmt +import torch +import random +import copy + +def run(x, tgt, loss_func, bigmodel=None, scale=32768, use_float=False): + x = x.clone().detach() + bigmodel = copy.deepcopy(bigmodel) + if use_float: + x = x.float() + if bigmodel is not None: + bigmodel = bigmodel.float() + x = x.requires_grad_() + if bigmodel is None: + loss = loss_func(x, tgt) + else: + t = bigmodel(x) + loss = loss_func(t, tgt) + (loss * scale).backward() + return loss, x.grad + +def check(x, tgt, loss_func1, loss_func2, bigmodel=None): + loss_1, grad_1 = run(x, tgt, loss_func1, bigmodel=bigmodel) + loss_2, grad_2 = run(x, tgt, loss_func2, bigmodel=bigmodel, use_float=True) + assert_eq(grad_1.isnan().sum(), 0) + assert_eq(grad_2.isnan().sum(), 0) + print(f"{(loss_1 - loss_2).abs().item():.6f} {(grad_1 - grad_2).abs().max().item():.6f}") + assert_lt((loss_1 - loss_2).abs().item(), 1e-5) + assert_lt((grad_1 - grad_2).abs().max().item(), 1e-1) + +def test_simple(dtype): + loss_func1 = bmt.loss.FusedCrossEntropy() + loss_func2 = torch.nn.CrossEntropyLoss() + + N = 32 * 512 + for i in range(1, 10): + C = i * 10 + x = torch.randn(N, C).cuda().to(dtype) + tgt = torch.randint(0, C, (N,)).cuda().long() + check(x, tgt, loss_func1, loss_func2) + for i in range(1, 10): + C = i * 100 + x = torch.randn(N, C).cuda().to(dtype) + tgt = torch.randint(0, C, (N,)).cuda().long() + check(x, tgt, loss_func1, loss_func2) + for i in range(1, 31): + C = i * 1000 + x = torch.randn(N, C).cuda().to(dtype) + tgt = torch.randint(0, C, (N,)).cuda().long() + check(x, tgt, loss_func1, loss_func2) + +def test_other(dtype): + N = 32 * 512 + for i in range(1, 11): + C = i * 10 + weight = [i+1 for i in range(C)] + random.shuffle(weight) + weight = torch.tensor(weight, device="cuda") + loss_func1 = bmt.loss.FusedCrossEntropy(weight=weight.clone().to(dtype)) + loss_func2 = torch.nn.CrossEntropyLoss(weight=weight.clone().float()) + + x = torch.randn(N, C).cuda().to(dtype) + tgt = torch.randint(0, C, (N,)).cuda().long() + mask = torch.randint(0, 2, (N,)).cuda().bool() + tgt[mask] = -100 + check(x, tgt, loss_func1, loss_func2) + +if __name__ == "__main__": + test_other(torch.float16) + test_simple(torch.float16) + print("==============================================================================") + try: + test_other(torch.bfloat16) + test_simple(torch.bfloat16) + except NotImplementedError: + pass \ No newline at end of file diff --git a/examples/BMTrain/tests/test_middle_hidden.py b/examples/BMTrain/tests/test_middle_hidden.py new file mode 100644 index 00000000..2a93efe0 --- /dev/null +++ b/examples/BMTrain/tests/test_middle_hidden.py @@ -0,0 +1,212 @@ +from utils import * + +import bmtrain as bmt +import random +import torch +from bmtrain.block_layer import Block, TransformerBlockList +from bmtrain.pipe_layer import PipelineTransformerBlockList +import torch.nn.functional as F +from bmtrain import inspect + +class Linear(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, init_weight = None, init_bias = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.out = {} + if init_weight: + self.weight = bmt.DistributedParameter(torch.tensor(init_weight, dtype=torch.float, device="cuda").reshape(out_features, in_features)) + else: + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.xavier_normal_) + + if init_bias: + self.bias = bmt.DistributedParameter(torch.tensor(init_bias, dtype=torch.float, device="cuda").reshape(out_features,)) + else: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.zeros_) + + def forward(self, input): + ret = F.linear(input, self.weight, self.bias) + return ret + +class Model_ZERO(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = TransformerBlockList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + if return_hidden_states: + x, o = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x), o + else: + x = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x) + +class Model_PIPE(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = PipelineTransformerBlockList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + if return_hidden_states: + x, o = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x), o + else: + x = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x) + +class Model_BLOCK(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = torch.nn.ModuleList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + o = [] + y = x + for m in self.ms: + o.append(y) + y = m(y) + if return_hidden_states: + return self.post(y), o + else: + return self.post(y) + +class Model_NORMAL(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = torch.nn.ModuleList(ms) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + o = [] + y = x + for m in self.ms: + o.append(y) + y = m(y) + if return_hidden_states: + return self.post(y), o + else: + return self.post(y) + +def manual_seed(seed=33): + torch.manual_seed(seed) + random.seed(seed) + try: + import numpy as np + np.random.seed(seed) + except ModuleNotFoundError: + pass + +def sub_run(name, cls, num_layer, dim, batch, seq_len, only_last=False, only_middle=False, mix_test=False): + manual_seed() + + pre = Linear(dim, dim) + post = Linear(dim, dim) + ms = [Linear(dim, dim) for i in range(num_layer)] + + inp = torch.randn((batch, seq_len, dim)).cuda() + last_weight = torch.randn((batch, seq_len, dim)).cuda() + middle_weight = [ + torch.randn((batch, seq_len, dim)).cuda() + for i in range(len(ms)) + ] + + bmt.init_parameters(pre) + bmt.init_parameters(post) + for m in ms: + bmt.init_parameters(m) + m = cls(pre, [m for m in ms], post) + + ret = "" + if only_last: + logits = m(inp) + loss = (logits * last_weight).sum() + loss.backward() + ret += f"========================only last========================\n" + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + if only_middle: + logits, hidden_states = m(inp, return_hidden_states=True) + loss = sum([ + (hidden_state * middle_weight[i]).sum() + for i, hidden_state in enumerate(hidden_states) + ]) + loss.backward() + ret += f"========================only middle========================\n" + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + if mix_test: + logits, hidden_states = m(inp, return_hidden_states=True) + loss = sum([ + (hidden_state * middle_weight[i]).sum() + for i, hidden_state in enumerate(hidden_states) + ]) + (logits * last_weight).sum() + loss.backward() + ret += f"========================mix========================\n" + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + return ret + "\n" # replace for matching None grad with zero_grad + +def run(name, cls, num_layer=4, dim=4096, batch=32, seq_len=256): + ret = "" + ret += sub_run(name, cls, num_layer=num_layer, dim=dim, batch=batch, seq_len=seq_len, only_last=True) + bmt.synchronize() + ret += sub_run(name, cls, num_layer=num_layer, dim=dim, batch=batch, seq_len=seq_len, only_middle=True) + bmt.synchronize() + ret += sub_run(name, cls, num_layer=num_layer, dim=dim, batch=batch, seq_len=seq_len, mix_test=True) + bmt.synchronize() + return ret + +def test_main(): + ret = {} + ret["normal"] = run("normal", Model_NORMAL) + ret["block"] = run("block", Model_BLOCK) + ret["zero"] = run("zero", Model_ZERO) + # ret["pipe"] = run("pipe", Model_PIPE) + for k, r in ret.items(): + bmt.print_rank(f"============={k}============") + bmt.print_rank(r) + for r in ret.values(): + for r2 in ret.values(): + lines, lines2 = r.split('\n'), r2.split('\n') + assert len(lines) == len(lines2) + for line, line2 in zip(lines, lines2): + words, words2 = line.split(), line2.split() + assert len(words) == len(words2) + for w, w2 in zip(words, words2): + try: + is_float = isinstance(eval(w), float) + except: + is_float = False + if is_float: + assert_lt(abs(float(w)-float(w2)), 2.) + else: + assert_eq(w, w2) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=1) + + test_main() diff --git a/examples/BMTrain/tests/test_model_wrapper.py b/examples/BMTrain/tests/test_model_wrapper.py new file mode 100644 index 00000000..6f913d3c --- /dev/null +++ b/examples/BMTrain/tests/test_model_wrapper.py @@ -0,0 +1,221 @@ +from utils import * + +from typing import Optional +import torch +import math +import torch.nn.functional as F +import bmtrain as bmt +import time + +class Attention(torch.nn.Module): + def __init__(self, + dim_model : int, dim_head : int, + num_heads : int, bias : bool = True, + dtype = None + ) -> None: + super().__init__() + + self.project_q = torch.nn.Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + self.project_k = torch.nn.Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + self.project_v = torch.nn.Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + + self.project_out = torch.nn.Linear(dim_head * num_heads, dim_model, bias=bias, dtype=dtype) + + self.softmax = torch.nn.Softmax(dim=-1) + self.num_heads = num_heads + self.dim_head = dim_head + self.dim_model = dim_model + + def forward(self, + hidden_q : torch.Tensor, # (batch_size, seq_q, dim_model) + hidden_kv : torch.Tensor, # (batch_size, seq_kv, dim_model) + mask : torch.BoolTensor, # (batch_size, seq_q, seq_kv) + position_bias : Optional[torch.Tensor] = None, # (batch, num_heads, seq_q, seq_kv) + ) -> torch.Tensor: + batch_size, seq_q, dim_model = hidden_q.size() + seq_kv = hidden_kv.size(1) + + h_q : torch.Tensor = self.project_q(hidden_q) + h_k : torch.Tensor = self.project_k(hidden_kv) + h_v : torch.Tensor = self.project_v(hidden_kv) + + h_q = h_q.view(batch_size, seq_q, self.num_heads, self.dim_head) + h_k = h_k.view(batch_size, seq_kv, self.num_heads, self.dim_head) + h_v = h_v.view(batch_size, seq_kv, self.num_heads, self.dim_head) + + h_q = h_q.permute(0, 2, 1, 3).contiguous() + h_k = h_k.permute(0, 2, 1, 3).contiguous() + h_v = h_v.permute(0, 2, 1, 3).contiguous() + + h_q = h_q.view(batch_size * self.num_heads, seq_q, self.dim_head) + h_k = h_k.view(batch_size * self.num_heads, seq_kv, self.dim_head) + h_v = h_v.view(batch_size * self.num_heads, seq_kv, self.dim_head) + + score = torch.bmm( + h_q, h_k.transpose(1, 2) + ) + score = score / math.sqrt(self.dim_head) + + score = score.view(batch_size, self.num_heads, seq_q, seq_kv) + + if position_bias is not None: + score = score + position_bias.view(batch_size, self.num_heads, seq_q, seq_kv) + + score = torch.where( + mask.view(batch_size, 1, seq_q, seq_kv), + score, + torch.scalar_tensor(float('-inf'), device=score.device, dtype=score.dtype) + ) + + score = torch.where( + mask.view(batch_size, 1, seq_q, seq_kv), + self.softmax(score), + torch.scalar_tensor(0, device=score.device, dtype=score.dtype) + ) + + score = score.view(batch_size * self.num_heads, seq_q, seq_kv) + + h_out = torch.bmm( + score, h_v + ) + h_out = h_out.view(batch_size, self.num_heads, seq_q, self.dim_head) + h_out = h_out.permute(0, 2, 1, 3).contiguous() + h_out = h_out.view(batch_size, seq_q, self.num_heads * self.dim_head) + + attn_out = self.project_out(h_out) + return attn_out + +class Feedforward(torch.nn.Module): + def __init__(self, dim_model : int, dim_ff : int, bias : bool = True, dtype = None) -> None: + super().__init__() + + self.w_in = torch.nn.Linear(dim_model, dim_ff, bias = bias, dtype=dtype) + self.w_out = torch.nn.Linear(dim_ff, dim_model, bias = bias, dtype=dtype) + + self.relu = torch.nn.ReLU() + + def forward(self, input : torch.Tensor) -> torch.Tensor: + return self.w_out(self.relu(self.w_in(input))) + + +class TransformerEncoder(torch.nn.Module): + def __init__(self, + dim_model : int, dim_head : int, num_heads : int, dim_ff : int, + bias : bool = True, dtype = None + ) -> None: + super().__init__() + + self.ln_attn = torch.nn.LayerNorm(dim_model, dtype=dtype) + self.attn = Attention(dim_model, dim_head, num_heads, bias=bias, dtype=dtype) + + self.ln_ff = torch.nn.LayerNorm(dim_model, dtype=dtype) + self.ff = Feedforward(dim_model, dim_ff, bias=bias, dtype=dtype) + + def forward(self, + hidden : torch.Tensor, # (batch, seq_len, dim_model) + mask : torch.BoolTensor, # (batch, seq_len, dim_model) + position_bias : Optional[torch.Tensor] = None, # (batch, num_head, seq_len, seq_len) + ): + x = self.ln_attn(hidden) + x = self.attn(x, x, mask, position_bias) + hidden = hidden + x + + x = self.ln_ff(hidden) + x = self.ff(x) + hidden = hidden + x + + return hidden + + +class GPT(torch.nn.Module): + def __init__(self, + num_layers : int, vocab_size : int, + dim_model : int, dim_head : int, num_heads : int, dim_ff : int, + max_distance : int, + bias : bool = True, dtype = None + ) -> None: + super().__init__() + + self.max_distance = max_distance + + self.word_emb = torch.nn.Embedding(vocab_size, dim_model, dtype=dtype) + self.pos_emb = torch.nn.Embedding(max_distance, dim_model, dtype=dtype) + self.dim_model = dim_model + + self.transformers = torch.nn.ModuleList([ + TransformerEncoder( + dim_model, dim_head, num_heads, dim_ff, bias, dtype + ) + for _ in range(num_layers) + ]) + + self.layernorm = torch.nn.LayerNorm(dim_model, dtype=dtype) + + def forward(self, + input : torch.LongTensor, # (batch, seq_len) + pos : torch.LongTensor, # (batch, seq_len) + mask : torch.BoolTensor, # (batch, seq_len) + ) -> torch.Tensor: + + mask_2d = mask[:, None, :] & mask[:, :, None] # (batch, seq_len, seq_len) + mask_2d = mask_2d & (pos[:, None, :] >= pos[:, :, None]) + + input_emb = self.pos_emb(pos) + self.word_emb(input) + + out = input_emb + for layer in self.transformers: + out = layer(out, mask_2d) + out = self.layernorm(out) + + logits = F.linear(out, self.word_emb.weight) / math.sqrt(self.dim_model) + + return logits + +def test_main(): + model = GPT( + num_layers=8, + vocab_size=10240, + dim_model=2560, + dim_head=80, + num_heads=32, + dim_ff=8192, + max_distance=1024, + bias=True, + dtype=torch.half + ) + + bmt_model = bmt.BMTrainModelWrapper(model) + model = model.cuda() + + # use the break if i == bmt.rank() to generate different data on different rank + torch.manual_seed(1234) + batch_size = 2 + seq_len = 512 + + for i in range(bmt.world_size()): + sent = torch.randint(0, 10240, (batch_size, seq_len + 1)) + enc_length = torch.randint(128, seq_len, (batch_size,)).long().cuda() + enc_input = sent[:, :-1].long().cuda() + targets = sent[:, 1:].long().cuda() + mask = torch.arange(seq_len).long().cuda()[None, :] < enc_length[:, None] + targets = torch.where( + mask, + targets, + torch.full_like(targets, -100, dtype=torch.long) + ) + + if i == bmt.rank(): + break + + pos = torch.arange(enc_input.size(1)).long().cuda().repeat(enc_input.size(0), 1) + logits = model(enc_input, pos, pos < enc_length[:, None]) + bmt_logits = bmt_model(enc_input, pos, pos < enc_length[:, None]) + print(logits) + bmt.synchronize() + print(bmt_logits) + assert_all_eq(logits, bmt_logits) + +if __name__ == '__main__': + bmt.init_distributed(seed=0) + + test_main() diff --git a/examples/BMTrain/tests/test_multi_return.py b/examples/BMTrain/tests/test_multi_return.py new file mode 100644 index 00000000..f4a5d79f --- /dev/null +++ b/examples/BMTrain/tests/test_multi_return.py @@ -0,0 +1,126 @@ +from utils import * + +import bmtrain as bmt +import torch +import random +from bmtrain import config +from bmtrain.block_layer import Block, TransformerBlockList +from bmtrain.pipe_layer import PipelineTransformerBlockList +import torch.nn.functional as F + +class MultiInputReturn(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, a, b, c, d, e): + return a*2, b+d, c*4+e*5 + +class Model_ZERO(torch.nn.Module): + def __init__(self, ms) -> None: + super().__init__() + self.ms = TransformerBlockList([ + Block(m) + for m in ms + ], num_hidden=3) + + def forward(self, x): + y = self.ms(*x) + return y + +class Model_PIPE(torch.nn.Module): + def __init__(self, ms) -> None: + super().__init__() + self.ms = PipelineTransformerBlockList([ + Block(m) + for m in ms + ], num_hidden=3) + + def forward(self, x): + y = self.ms(*x) + return y + +class Model_BLOCK(torch.nn.Module): + def __init__(self, ms) -> None: + super().__init__() + self.ms = torch.nn.ModuleList([ + Block(m) + for m in ms + ]) + + def forward(self, x): + y = x[:3] + other = x[3:] + for m in self.ms: + y = m(*y, *other) + return y + +class Model_NORMAL(torch.nn.Module): + def __init__(self, ms) -> None: + super().__init__() + self.ms = torch.nn.ModuleList(ms) + + def forward(self, x): + y = x[:3] + other = x[3:] + for m in self.ms: + y = m(*y, *other) + return y + +def manual_seed(seed=33): + torch.manual_seed(seed) + random.seed(seed) + try: + import numpy as np + np.random.seed(seed) + except ModuleNotFoundError: + pass + +def run(name, cls, num_layer=4, dim=4096): + manual_seed() + + ms = [MultiInputReturn() for i in range(num_layer)] + + inps = ( + torch.randn((dim,)).cuda(), + torch.randn((dim,)).cuda(), + torch.randn((dim,)).cuda(), + torch.randn((dim,)).cuda(), + torch.randn((dim,)).cuda(), + ) + last_weights = ( + torch.randn((dim,)).cuda(), + torch.randn((dim,)).cuda(), + torch.randn((dim,)).cuda(), + ) + + for inp in inps: + inp.requires_grad_(True) + m = cls(ms) + + ret = "" + logits = m(inps) + loss = (logits[0]*last_weights[0] + logits[1]*last_weights[1] + logits[2]*last_weights[2]).sum() + loss.backward() + return list(logits) + [ + inp.grad + for inp in inps + ] + +def test_main(): + ret = {} + ret["normal"] = run("normal", Model_NORMAL) + ret["block"] = run("block", Model_BLOCK) + ret["zero"] = run("zero", Model_ZERO) + # ret["pipe"] = run("pipe", Model_PIPE) # TODO pipeline not support multiple input-output yet + for k, r in ret.items(): + bmt.print_rank(f"============={k}============") + bmt.print_rank(r) + for r in ret.values(): + for r2 in ret.values(): + for i in range(len(r)): + assert_lt((r[i]-r2[i]).abs().max(), 1e-5) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=1) + + test_main() diff --git a/examples/BMTrain/tests/test_nccl_backward.py b/examples/BMTrain/tests/test_nccl_backward.py new file mode 100644 index 00000000..5950fb5c --- /dev/null +++ b/examples/BMTrain/tests/test_nccl_backward.py @@ -0,0 +1,43 @@ +from utils import * + +import bmtrain as bmt +import torch + +def test_main(dtype): + x = torch.full((1,), bmt.rank() + 1, dtype=dtype, device="cuda").requires_grad_(True) + y = bmt.distributed.all_reduce(x, "prod").view(-1) + loss = (y * y).sum() / 2 + loss.backward() + ref = y + for i in range(bmt.world_size()): + if i != bmt.rank(): ref *= i+1 + assert_eq(x.grad, ref) + +def test_reducescatter(): + world_size = bmt.world_size() + for shape in [(128,), (128,128)]: + tensors = torch.randn(world_size, *shape, dtype=torch.half, device="cuda").requires_grad_(True) + local_tensor = tensors[bmt.rank()] + x = local_tensor.detach().clone().requires_grad_(True) + y = bmt.distributed.reduce_scatter(x, "sum") + ref = tensors.sum(0) + partition = x.shape[0] // bmt.world_size() + ref_p = ref[bmt.rank() * partition:(bmt.rank() + 1) * partition] + if bmt.rank() == 0: + print(ref_p) + print(y) + assert torch.allclose(ref_p, y, atol=1e-2, rtol=1e-3) + g = torch.randn_like(y) + grad = torch.autograd.grad(y, x, g)[0] + pgrad = grad[bmt.rank() * y.shape[0]: (bmt.rank() + 1) * y.shape[0]] + ref_g = g + if bmt.rank() == 0: + print(ref_g) + print(pgrad) + assert torch.allclose(ref_g, pgrad, atol=1e-3, rtol=1e-3) + +if __name__ == "__main__": + bmt.init_distributed() + test_reducescatter() + test_main(torch.half) + test_main(torch.bfloat16) diff --git a/examples/BMTrain/tests/test_no_grad.py b/examples/BMTrain/tests/test_no_grad.py new file mode 100644 index 00000000..7851c670 --- /dev/null +++ b/examples/BMTrain/tests/test_no_grad.py @@ -0,0 +1,90 @@ +import torch +import bmtrain as bmt + +class Layer(torch.nn.Module): + def __init__(self): + super(Layer, self).__init__() + self.linear = bmt.nn.Linear(32, 32) + self.count = 0 + def forward(self, x): + self.count += 1 + return self.linear(x) + +def test_no_grad(): + x = torch.randn(32, 32, device='cuda') + + layer1 = bmt.Block(Layer()) + layer2 = bmt.Block(Layer()) + layer1.linear.weight.requires_grad_(False) + layer1.linear.bias.requires_grad_(False) + y = layer1(x) + assert y.requires_grad == False + y = layer2(y) + y.sum().backward() + assert layer1.count == 1 + assert layer2.count == 2 + +def test_multi_layer_no_grad(): + x = torch.randn(32, 32, device='cuda') + + layers = [] + for i in range(10): + layer = bmt.Block(Layer()) + layer.linear.weight.requires_grad_(i > 4) + layer.linear.bias.requires_grad_(i > 4) + layers.append(layer) + + y = x + for layer in layers: + y = layer(y) + y.sum().backward() + for i in range(len(layers)): + assert layers[i].count == (1 if i <=4 else 2) + +def test_all_input_no_grad(): + linear1 = bmt.nn.Linear(32, 32) + linear2 = bmt.nn.Linear(32, 32) + + x = torch.randn(32,32, device='cuda') + + linear1 = bmt.Block(linear1) + linear2 = bmt.Block(linear2) + y = linear1(x) + y = linear2(y) + y.sum().backward() + assert linear1.weight.grad is not None + assert linear1.bias.grad is not None + assert x.grad is None + +def test_same_layer(): + layer = Layer() + block_list = bmt.TransformerBlockList([layer, layer]) + assert id(block_list[0]) != id(block_list[1]) + +def test_no_grad_error(): + layer = bmt.Block(Layer()) + + try: + block_list = bmt.TransformerBlockList([layer, layer]) + raise ValueError("test failed") + except AssertionError as e: + return + +def test_no_grad_error2(): + layer = bmt.Block(Layer()) + + try: + block_list = bmt.PipelineTransformerBlockList([layer]) + raise ValueError("test failed") + except AssertionError as e: + return + +if __name__ == '__main__': + bmt.init_distributed() + + test_no_grad() + test_multi_layer_no_grad() + test_all_input_no_grad() + test_same_layer() + test_no_grad_error() + test_no_grad_error2() diff --git a/examples/BMTrain/tests/test_optim.py b/examples/BMTrain/tests/test_optim.py new file mode 100644 index 00000000..0aca8c31 --- /dev/null +++ b/examples/BMTrain/tests/test_optim.py @@ -0,0 +1,94 @@ +from utils import * +import torch +import bmtrain as bmt +from bmtrain import optim + +class TestModule(torch.nn.Module): + def __init__(self): + super(TestModule, self).__init__() + self.fc1 = torch.nn.Linear(128, 128, bias=False) + self.fc2 = torch.nn.Linear(128, 128) + self.fc3 = torch.nn.Linear(128, 128) + self.fc4 = torch.nn.Linear(128, 128) + self.fc5 = torch.nn.Linear(128, 128) + self.param = torch.nn.Parameter(torch.empty(1237)) + + def forward(self, x): + x = self.fc1(x) + x = self.fc2(x) + x = self.fc3(x) + x = self.fc4(x) + x = self.fc5(x) + return x + +def main(dtype): + model1 = TestModule() + model2 = TestModule() + model3 = TestModule() + model4 = TestModule() + model5 = TestModule() + + state_dict = model1.state_dict() + for kw in state_dict.keys(): + state_dict[kw] = torch.randn_like(state_dict[kw]) + + model1.load_state_dict(state_dict) + model2.load_state_dict(state_dict) + model3.load_state_dict(state_dict) + model4.load_state_dict(state_dict) + model5.load_state_dict(state_dict) + + model1 = model1.cuda().to(dtype) + model2 = model2.cuda().to(dtype) + model3 = model3.cuda() + model4 = model4.cuda() + model5 = model5.cuda() + + opt1 = bmt.optim.AdamOptimizer(model1.parameters(), lr=1) + opt2 = bmt.optim.AdamOffloadOptimizer(model2.parameters(), lr=1) + opt3 = torch.optim.Adam(model3.parameters(), lr=1) + opt4 = bmt.optim.AdamOptimizer(model4.parameters(), lr=1) + opt5 = bmt.optim.AdamOffloadOptimizer(model5.parameters(), lr=1) + + optim_manager = bmt.optim.OptimManager(loss_scale=4) + optim_manager.add_optimizer(opt1) + optim_manager.add_optimizer(opt2) + optim_manager.add_optimizer(opt3) + optim_manager.add_optimizer(opt4) + optim_manager.add_optimizer(opt5) + + for _ in range(100): + optim_manager.zero_grad() + + for p1, p2, p3, p4, p5 in zip(model1.parameters(), model2.parameters(), model3.parameters(), model4.parameters(), model5.parameters()): + grad = torch.randn_like(p1) + p1.grad = grad.to(dtype) + p2.grad = grad.to(dtype) + p3.grad = grad.float() + p4.grad = grad.float() + p5.grad = grad.float() + + optim_manager.step() + torch.cuda.synchronize() + + for p1, p2, p3, p4, p5 in zip(model1.parameters(), model2.parameters(), model3.parameters(), model4.parameters(), model5.parameters()): + diff1 = torch.abs(p1 - p2).max().item() + diff2 = torch.abs(p1 - p3).max().item() + diff3 = torch.abs(p2 - p3).max().item() + diff4 = torch.abs(p3 - p4).max().item() + diff5 = torch.abs(p3 - p5).max().item() + print(f"{diff1:.6f}, {diff2:.6f}, {diff3:.6f}, {diff4:.6f}, {diff5:.6f}") + assert_lt(diff1, 1) + assert_lt(diff2, 1) + assert_lt(diff3, 1) + assert_eq(diff4, 0) + assert_lt(diff5, 0.00001) + +if __name__ == "__main__": + bmt.init_distributed() + main(torch.float16) + print("==============================================================================") + try: + main(torch.bfloat16) + except NotImplementedError: + pass diff --git a/examples/BMTrain/tests/test_optim_state.py b/examples/BMTrain/tests/test_optim_state.py new file mode 100644 index 00000000..57d5d0e3 --- /dev/null +++ b/examples/BMTrain/tests/test_optim_state.py @@ -0,0 +1,135 @@ +import torch +import bmtrain as bmt +import os +from copy import deepcopy +from bmtrain import optim, lr_scheduler + +class TestSubModule(bmt.DistributedModule): + def __init__(self): + super(TestSubModule, self).__init__() + self.fc1 = bmt.BMTrainModelWrapper(torch.nn.Linear(768, 3072)) + self.fc2 = bmt.BMTrainModelWrapper(torch.nn.Linear(3072, 1024)) + self.fc3 = bmt.BMTrainModelWrapper(torch.nn.Linear(1024, 768)) + self.param = bmt.DistributedParameter(torch.zeros(1237)) + self.fc4 = bmt.BMTrainModelWrapper(torch.nn.Linear(768, 300)) + self.fc5 = bmt.BMTrainModelWrapper(torch.nn.Linear(300, 768)) + self.dropout = torch.nn.Dropout(0.0) + + def forward(self, x): + x = self.fc1(x) + x = self.fc2(x) + x = self.fc3(x) + x = self.dropout(x) + x = self.fc4(x) + x = self.fc5(x) + return x + +class TestModule(torch.nn.Module): + def __init__(self): + super(TestModule, self).__init__() + self.layer1 = TestSubModule() + self.layer2 = bmt.CheckpointBlock(TestSubModule()) + + def forward(self, x): + x = self.layer1(x) + x = self.layer2(x) + return x + +def train(model1, model2, model3, optim_manager): + x = torch.randn((4, 768)).cuda() + for _ in range(10): + optim_manager.zero_grad() + + y1, y2, y3 = model1(x), model2(x), model3(x) + w = torch.randn_like(y1) + loss = (y1*w).sum() + (y2*w).sum() + (y3*w).sum() + optim_manager.backward(loss) + + optim_manager.step() + +def manual_seed(seed=33): + torch.manual_seed(seed) + import random + random.seed(seed) + try: + import numpy as np + np.random.seed(seed) + except ModuleNotFoundError: + pass + +def main(): + model1 = TestModule() + model2 = TestModule() + model3 = TestModule() + + bmt.save(model1, "test_optim_state_model1.pt") + + bmt.load(model1, f"test_optim_state_model1.pt") + bmt.load(model2, f"test_optim_state_model1.pt") + bmt.load(model3, f"test_optim_state_model1.pt") + + opt1 = optim.AdamOptimizer(model1.parameters(), weight_decay=1e-3) + opt2 = optim.AdamOffloadOptimizer(model2.parameters(), weight_decay=1e-3) + opt3 = torch.optim.Adam(model3.parameters(), weight_decay=1e-3) + lrs1 = lr_scheduler.Noam(opt1, start_lr=20, warmup_iter=0, end_iter=300, num_iter=1) + lrs2 = lr_scheduler.Noam(opt2, start_lr=20, warmup_iter=0, end_iter=300, num_iter=1) + lrs3 = lr_scheduler.Noam(opt3, start_lr=20, warmup_iter=0, end_iter=300, num_iter=1) + optim_manager = optim.OptimManager(loss_scale=256) + optim_manager.add_optimizer(opt1, lrs1) + optim_manager.add_optimizer(opt2, lrs2) + optim_manager.add_optimizer(opt3, lrs3) + + train(model1, model2, model3, optim_manager) + + bmt.save(model1, f"test_optim_state_model1.pt") + bmt.save(model2, f"test_optim_state_model2.pt") + bmt.save(model3, f"test_optim_state_model3.pt") + + torch.save(optim_manager.state_dict(), f"test_optim_manager_{bmt.rank()}.opt") + + manual_seed() + train(model1, model2, model3, optim_manager) + state_2 = deepcopy([list(model1.parameters()), list(model2.parameters()), list(model3.parameters())]) + + model1 = TestModule() + model2 = TestModule() + model3 = TestModule() + bmt.load(model1, f"test_optim_state_model1.pt") + bmt.load(model2, f"test_optim_state_model2.pt") + bmt.load(model3, f"test_optim_state_model3.pt") + + opt1 = optim.AdamOptimizer(model1.parameters(), weight_decay=1e-8, betas=(0.3, 0.333), eps=1e-3) + opt2 = optim.AdamOffloadOptimizer(model2.parameters(), weight_decay=1e-7, betas=(0.4, 0.456), eps=1e-1) + opt3 = torch.optim.Adam(model3.parameters(), weight_decay=1e-6, betas=(0.9, 0.777), eps=1e-2) + lrs1 = lr_scheduler.Noam(opt1, start_lr=200, warmup_iter=30, end_iter=500, num_iter=3) + lrs2 = lr_scheduler.Noam(opt2, start_lr=20, warmup_iter=40, end_iter=600, num_iter=1) + lrs3 = lr_scheduler.Noam(opt3, start_lr=10, warmup_iter=50, end_iter=700, num_iter=2) + optim_manager = optim.OptimManager(loss_scale=10485760) + optim_manager.add_optimizer(opt1, lrs1) + optim_manager.add_optimizer(opt2, lrs2) + optim_manager.add_optimizer(opt3, lrs3) + optim_manager.load_state_dict(torch.load(f"test_optim_manager_{bmt.rank()}.opt")) + + manual_seed() + train(model1, model2, model3, optim_manager) + state_1_plus_1 = deepcopy([list(model1.parameters()), list(model2.parameters()), list(model3.parameters())]) + + for i, kind in [ + (0, "BMTAdam"), + (1, "BMTAdamOffload"), + (2, "TorchAdam") + ]: + ref = state_2[i] + chk = state_1_plus_1[i] + for rp, p in zip(ref, chk): + assert (rp==p).all(), f"{kind} state load error" + + if bmt.rank() == 0: + os.remove(f"test_optim_state_model1.pt") + os.remove(f"test_optim_state_model2.pt") + os.remove(f"test_optim_state_model3.pt") + os.remove(f"test_optim_manager_{bmt.rank()}.opt") + +if __name__ == "__main__": + bmt.init_distributed() + main() diff --git a/examples/BMTrain/tests/test_other_hidden.py b/examples/BMTrain/tests/test_other_hidden.py new file mode 100644 index 00000000..27736aa7 --- /dev/null +++ b/examples/BMTrain/tests/test_other_hidden.py @@ -0,0 +1,189 @@ +from utils import * + +import bmtrain as bmt +import random +import torch +from bmtrain import config +from bmtrain.block_layer import Block, TransformerBlockList +from bmtrain.pipe_layer import PipelineTransformerBlockList +import torch.nn.functional as F +from bmtrain import inspect + +class Linear(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, init_weight = None, init_bias = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.out = {} + if init_weight: + self.weight = bmt.DistributedParameter(torch.tensor(init_weight, dtype=torch.float, device="cuda").reshape(out_features, in_features)) + else: + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.xavier_normal_) + + if init_bias: + self.bias = bmt.DistributedParameter(torch.tensor(init_bias, dtype=torch.float, device="cuda").reshape(out_features,)) + else: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.zeros_) + + def forward(self, input): + ret = F.linear(input, self.weight, self.bias) + return ret + +class Model_ZERO(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = TransformerBlockList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + if return_hidden_states: + x, o = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x), o + else: + x = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x) + +class Model_PIPE(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = PipelineTransformerBlockList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + if return_hidden_states: + x, o = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x), o + else: + x = self.ms(x, return_hidden_states=return_hidden_states) + return self.post(x) + +class Model_BLOCK(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = torch.nn.ModuleList([ + Block(m) + for m in ms + ]) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + o = [] + y = x + for m in self.ms: + o.append(y) + y = m(y) + if return_hidden_states: + return self.post(y), o + else: + return self.post(y) + +class Model_NORMAL(torch.nn.Module): + def __init__(self, pre, ms, post) -> None: + super().__init__() + self.pre = pre + self.ms = torch.nn.ModuleList(ms) + self.post = post + + def forward(self, x, return_hidden_states=False): + x = self.pre(x) + o = [] + y = x + for m in self.ms: + o.append(y) + y = m(y) + if return_hidden_states: + return self.post(y), o + else: + return self.post(y) + +def manual_seed(seed=33): + torch.manual_seed(seed) + random.seed(seed) + try: + import numpy as np + np.random.seed(seed) + except ModuleNotFoundError: + pass + +def sub_run(name, cls, num_layer, dim, batch, seq_len, only_pre=False, only_post=False, mix_test=False): + manual_seed() + + pre = Linear(dim, dim) + post = Linear(dim, dim) + ms = [Linear(dim, dim) for i in range(num_layer)] + + inp = torch.randn((batch, seq_len, dim)).cuda() + last_weight = torch.randn(pre.weight.shape).cuda()*10 + middle_weight = [ + torch.randn((batch, seq_len, dim)).cuda() + for i in range(len(ms)) + ] + + bmt.init_parameters(pre) + bmt.init_parameters(post) + for m in ms: + bmt.init_parameters(m) + m = cls(pre, [m for m in ms], post) + + ret = "" + if only_pre: + loss = (pre.weight * last_weight).sum() + loss.backward() + ret += f"========================only last========================\n" + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + if only_post: + loss = (post.weight * last_weight).sum() + loss.backward() + ret += f"========================only middle========================\n" + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + if mix_test: + loss = (pre.weight * last_weight).sum() + (post.weight * last_weight).sum() + loss.backward() + ret += f"========================mix========================\n" + ret += inspect.format_summary( + inspect.inspect_model(m, '*') + ) + return ret + "\n" # replace for matching None grad with zero_grad + +def run(name, cls, num_layer=4, dim=4096, batch=32, seq_len=256): + ret = "" + ret += sub_run(name, cls, num_layer=num_layer, dim=dim, batch=batch, seq_len=seq_len, only_pre=True) + bmt.synchronize() + ret += sub_run(name, cls, num_layer=num_layer, dim=dim, batch=batch, seq_len=seq_len, only_post=True) + bmt.synchronize() + ret += sub_run(name, cls, num_layer=num_layer, dim=dim, batch=batch, seq_len=seq_len, mix_test=True) + bmt.synchronize() + return ret + +def test_main(): + ret = [] + ret.append( run("normal", Model_NORMAL) ) + ret.append( run("block", Model_BLOCK) ) + ret.append( run("zero", Model_ZERO) ) + # ret.append( run("pipe", Model_PIPE) ) + for r in ret: + bmt.print_rank(r) + for r in ret: + for r2 in ret: + assert_eq(r, r2) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=1) + test_main() diff --git a/examples/BMTrain/tests/test_parallel_projection.py b/examples/BMTrain/tests/test_parallel_projection.py new file mode 100644 index 00000000..dc1e874d --- /dev/null +++ b/examples/BMTrain/tests/test_parallel_projection.py @@ -0,0 +1,55 @@ +import torch +import bmtrain as bmt +from bmtrain.global_var import config +import numpy as np +import os + +def run_normal(x, t, ckp_path, dtype): + proj = bmt.nn.Projection(100, 64, dtype=dtype) + bmt.init_parameters(proj) + bmt.save(proj, ckp_path) + loss_func = bmt.loss.FusedCrossEntropy(ignore_index=-100, parallel=False) + y = proj(x) + y = y.detach().requires_grad_() + loss = loss_func(y, t) + loss.backward() + return y, loss, y.grad + +def run_vp(x, t, ckp_path, dtype): + proj = bmt.nn.VPProjection(100, 64, dtype=dtype) + bmt.load(proj, ckp_path) + loss_func = bmt.loss.FusedCrossEntropy(ignore_index=-100, parallel=True) + y = proj(x) + y = y.detach().requires_grad_() + loss = loss_func(y, t) + loss.backward() + return y, loss, y.grad + +def run(dtype): + ckp_path = 'embedding.pt' + torch.cuda.manual_seed(100) + tp_size = config["tp_size"] + tp_rank = config['tp_rank'] + x = torch.randn(110, 64, device='cuda', dtype=dtype) + t = torch.cat([torch.arange(100).view(10, 10), torch.ones((10, 1))*-100], dim=-1).view(110).int().cuda() + y1, loss1, grad1 = run_normal(x, t, ckp_path, dtype) + y2, loss2, grad2 = run_vp(x, t, ckp_path, dtype) + y1 = y1.chunk(tp_size, dim=-1)[tp_rank] + grad1 = grad1.chunk(tp_size, dim=-1)[tp_rank] + for r in range(tp_size): + if bmt.rank() == r: + print((y1-y2).abs().max()) + print((loss1-loss2).abs().max()) + print((grad1-grad2).abs().max()) + assert (y1-y2).abs().max() < 1e-4 + assert (loss1-loss2).abs().max() < 1e-4 + assert (grad1-grad2).abs().max() < 1e-4 + bmt.synchronize() + if bmt.rank() == 0: + os.remove(f"embedding.pt") + +if __name__ == "__main__": + bmt.init_distributed(tp_size=4) + run(torch.half) + run(torch.bfloat16) + diff --git a/examples/BMTrain/tests/test_requires_grad.py b/examples/BMTrain/tests/test_requires_grad.py new file mode 100644 index 00000000..9a443bd3 --- /dev/null +++ b/examples/BMTrain/tests/test_requires_grad.py @@ -0,0 +1,107 @@ +from utils import * + +import bmtrain as bmt +import torch +from bmtrain import config +from bmtrain.block_layer import Block, TransformerBlockList +from bmtrain.pipe_layer import PipelineTransformerBlockList +from typing import List +import torch.nn.functional as F +from bmtrain import inspect + +class Linear(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, init_weight = None, init_bias = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.out = {} + if init_weight: + self.weight = bmt.DistributedParameter(torch.tensor(init_weight, dtype=torch.float, device="cuda").reshape(out_features, in_features)) + else: + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.xavier_normal_) + + if init_bias: + self.bias = bmt.DistributedParameter(torch.tensor(init_bias, dtype=torch.float, device="cuda").reshape(out_features,)) + else: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.zeros_) + + def forward(self, input, other_bias): + ret = F.linear(input, self.weight, self.bias) + ret += other_bias + return ret + +def run(m, a, b): + inp = torch.rand((1, 10, 256)).cuda()*100 + bias = torch.rand(256).cuda()*100 + logits = m(inp, bias) + loss = logits.sum() + loss.backward() + bmt.synchronize() + sm = inspect.format_summary( + inspect.inspect_model(m, '*') + ) + assert_eq(bias.requires_grad, False) + return a.weight.grad is None, a.bias.grad is None, sm + +def test_main(): + a = Linear(256, 256) + b = Linear(256, 256) + m = TransformerBlockList([Block(a), Block(b)]) + bmt.init_parameters(m) + + a.bias.requires_grad_(False) + awg, abg, sm1 = run(m, a, b) + print(awg, abg, sm1) + assert_eq((awg, abg), (False, True)) + assert_eq(sm1.split('\n')[2].split()[-2:], ["0.0000", "0.0000"]) + + a.weight.requires_grad_(False) + a.bias.requires_grad_(True) + awg, abg, sm2 = run(m, a, b) + print(awg, abg, sm2) + assert_eq((awg, abg), (False, False)) + assert_eq(sm1.split('\n')[1], sm2.split('\n')[1]) + assert_neq(sm1.split('\n')[2], sm2.split('\n')[2]) + + a.weight.requires_grad_(True) + a.bias.requires_grad_(False) + awg, abg, sm3 = run(m, a, b) + print(awg, abg, sm3) + assert_eq((awg, abg), (False, False)) + assert_neq(sm2.split('\n')[1], sm3.split('\n')[1]) + assert_eq(sm2.split('\n')[2], sm3.split('\n')[2]) + +def test_main_pipe(): + a = Linear(256, 256) + b = Linear(256, 256) + m = PipelineTransformerBlockList([Block(a), Block(b)]) + bmt.init_parameters(m) + + a.bias.requires_grad_(False) + awg, abg, sm1 = run(m, a, b) + print(awg, abg, sm1) + assert_eq((awg, abg), (False, True)) + assert_eq(sm1.split('\n')[2].split()[-2:], ["0.0000", "0.0000"]) + + a.weight.requires_grad_(False) + a.bias.requires_grad_(True) + awg, abg, sm2 = run(m, a, b) + print(awg, abg, sm2) + assert_eq((awg, abg), (False, False)) + assert_eq(sm1.split('\n')[1], sm2.split('\n')[1]) + assert_neq(sm1.split('\n')[2], sm2.split('\n')[2]) + + a.weight.requires_grad_(True) + a.bias.requires_grad_(False) + awg, abg, sm3 = run(m, a, b) + print(awg, abg, sm3) + assert_eq((awg, abg), (False, False)) + assert_neq(sm2.split('\n')[1], sm3.split('\n')[1]) + assert_eq(sm2.split('\n')[2], sm3.split('\n')[2]) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=1) + + test_main() + # test_main_pipe() diff --git a/examples/BMTrain/tests/test_requires_grad_multi_gpu.py b/examples/BMTrain/tests/test_requires_grad_multi_gpu.py new file mode 100644 index 00000000..2eedf7b6 --- /dev/null +++ b/examples/BMTrain/tests/test_requires_grad_multi_gpu.py @@ -0,0 +1,96 @@ +from utils import * + +import bmtrain as bmt +import torch +from bmtrain.block_layer import Block, TransformerBlockList +from bmtrain.pipe_layer import PipelineTransformerBlockList +from typing import List +import torch.nn.functional as F +from bmtrain import inspect + +class Linear(bmt.DistributedModule): + def __init__(self, in_features : int, out_features: int, init_weight = None, init_bias = None) -> None: + super().__init__() + + self.in_features = in_features + self.out_features = out_features + self.out = {} + if init_weight: + self.weight = bmt.DistributedParameter(torch.tensor(init_weight, dtype=torch.float, device="cuda").reshape(out_features, in_features)) + else: + self.weight = bmt.DistributedParameter(torch.empty(out_features, in_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.xavier_normal_) + + if init_bias: + self.bias = bmt.DistributedParameter(torch.tensor(init_bias, dtype=torch.float, device="cuda").reshape(out_features,)) + else: + self.bias = bmt.DistributedParameter(torch.empty(out_features, dtype=torch.float, device="cuda"), init_method=torch.nn.init.zeros_) + + def forward(self, input): + ret = F.linear(input, self.weight, self.bias) + return ret + +def run(m, a, b): + inp = torch.rand((1, 10, 256)).cuda()*100 + logits = m(inp) + loss = logits.sum() + loss.backward() + + sm = inspect.format_summary( + inspect.inspect_model(m, '*') + ) + return sm + +def test_main(): + a = Linear(256, 256) + b = Linear(256, 256) + m = TransformerBlockList([Block(a), Block(b)]) + bmt.init_parameters(m) + + a.bias.requires_grad_(False) + sm1 = run(m, a, b) + print(sm1) + assert_eq(sm1.split('\n')[2].split()[-2:], ["0.0000", "0.0000"]) + + a.weight.requires_grad_(False) + a.bias.requires_grad_(True) + sm2 = run(m, a, b) + print(sm2) + assert_eq(sm1.split('\n')[1], sm2.split('\n')[1]) + assert_neq(sm1.split('\n')[2], sm2.split('\n')[2]) + + a.weight.requires_grad_(True) + a.bias.requires_grad_(False) + sm3 = run(m, a, b) + assert_neq(sm2.split('\n')[1], sm3.split('\n')[1]) + assert_eq(sm2.split('\n')[2], sm3.split('\n')[2]) + +def test_main_pipe(): + a = Linear(256, 256) + b = Linear(256, 256) + m = PipelineTransformerBlockList([Block(a), Block(b)]) + bmt.init_parameters(m) + + a.bias.requires_grad_(False) + sm1 = run(m, a, b) + print(sm1) + assert_eq(sm1.split('\n')[2].split()[-2:], ["0.0000", "0.0000"]) + + a.weight.requires_grad_(False) + a.bias.requires_grad_(True) + sm2 = run(m, a, b) + print(sm2) + assert_eq(sm1.split('\n')[1], sm2.split('\n')[1]) + assert_neq(sm1.split('\n')[2], sm2.split('\n')[2]) + + a.weight.requires_grad_(True) + a.bias.requires_grad_(False) + sm3 = run(m, a, b) + print(sm3) + assert_neq(sm2.split('\n')[1], sm3.split('\n')[1]) + assert_eq(sm2.split('\n')[2], sm3.split('\n')[2]) + +if __name__ == "__main__": + bmt.init_distributed(pipe_size=1) + + test_main() + # test_main_pipe() diff --git a/examples/BMTrain/tests/test_row_parallel_linear.py b/examples/BMTrain/tests/test_row_parallel_linear.py new file mode 100644 index 00000000..23dce8b2 --- /dev/null +++ b/examples/BMTrain/tests/test_row_parallel_linear.py @@ -0,0 +1,54 @@ +import torch +import bmtrain as bmt +from bmtrain.global_var import config +import numpy as np + +def run_bmt(x, ckp_path, split_input=True, use_checkpoint_block=True): + linear = bmt.nn.RowParallelLinear(8,8, split_input=split_input, all_reduce_output=True) + if use_checkpoint_block: + linear = bmt.Block(linear) + bmt.init_parameters(linear) + y = linear(x) + y.sum().backward() + bmt.save(linear, ckp_path) + bmt.synchronize() + return y, linear._parameters['weight'].grad, linear._parameters['bias'].grad + +def run_torch(x, ckp_path): + linear = torch.nn.Linear(8, 8) + linear_dict = torch.load(ckp_path) + linear.load_state_dict(linear_dict) + linear = linear.cuda() + linear.weight.requires_grad_() + y = linear(x) + y.sum().backward() + return y, linear.weight.grad, linear.bias.grad + +def run(split_input, use_checkpoint_block, ckp_path): + tp_size = bmt.config['tp_size'] + torch.cuda.manual_seed(100) + tp_rank = config['topology'].tp_id + x = torch.randn(8,8, device='cuda').requires_grad_() + rank_x = x.chunk(tp_size, dim=0 if split_input else 1)[tp_rank] + y1, weight_grad1, bias_grad1 = run_bmt(rank_x, ckp_path, split_input, use_checkpoint_block) + y2, weight_grad2, bias_grad2 = run_torch(x, ckp_path) + np.testing.assert_allclose(y1.detach().cpu().numpy(), y2.detach().cpu().numpy(), atol=1e-5) + + weight_grad_list = weight_grad2.chunk(tp_size, dim=1) + assert np.allclose(weight_grad1.reshape(weight_grad_list[tp_rank].shape).cpu().numpy(), weight_grad_list[tp_rank].cpu().numpy()) + + assert np.allclose(bias_grad1.cpu().numpy(), bias_grad2.cpu().numpy()) + +def test_split_input(): + run(True, False, 'row_parallel_linear.ckp') + run(True, True, 'row_parallel_linear.ckp') + +def test_no_split_input(): + run(False, False, 'row_parallel_linear_no_split.ckp') + run(False, True, 'row_parallel_linear_no_split.ckp') + +if __name__ == "__main__": + bmt.init_distributed(tp_size=2) + test_no_split_input() + test_split_input() + diff --git a/examples/BMTrain/tests/test_send_recv.py b/examples/BMTrain/tests/test_send_recv.py new file mode 100644 index 00000000..f933b0c2 --- /dev/null +++ b/examples/BMTrain/tests/test_send_recv.py @@ -0,0 +1,22 @@ +from utils import * + +import torch +import bmtrain as bmt +from bmtrain.global_var import config + +def test_send_recv(): + if config["topology"].stage_id == 0: + a = torch.ones((2,1)) * (config["topology"].pp_zero_id+1) + a = a.cuda() + print(f"send {a}") + bmt.distributed.send_activations(a, 1, config["pipe_comm"]) + else: + ref = torch.ones((2,1)) * (config["topology"].pp_zero_id+1) + a = bmt.distributed.recv_activations(0, config["pipe_comm"]) + print(f"recv {a}") + assert_all_eq(a, ref.cuda()) + +if __name__ == '__main__': + bmt.init_distributed(pipe_size=2) + + test_send_recv() diff --git a/examples/BMTrain/tests/test_store.py b/examples/BMTrain/tests/test_store.py new file mode 100644 index 00000000..cb427d5b --- /dev/null +++ b/examples/BMTrain/tests/test_store.py @@ -0,0 +1,13 @@ +import bmtrain as bmt +from bmtrain.store import allgather_object + +def test_allgather_object(): + + res = allgather_object(bmt.rank(), bmt.config["comm"]) + ref = [i for i in range(bmt.world_size())] + assert res == ref + +if __name__ == "__main__": + bmt.init_distributed() + test_allgather_object() + diff --git a/examples/BMTrain/tests/test_synchronize.py b/examples/BMTrain/tests/test_synchronize.py new file mode 100644 index 00000000..bea48b04 --- /dev/null +++ b/examples/BMTrain/tests/test_synchronize.py @@ -0,0 +1,26 @@ +import torch +import bmtrain as bmt + +from bmtrain.global_var import config +from bmtrain import nccl, distributed +from bmtrain.synchronize import gather_result + +def test_main(): + + ref_result = torch.ones(5 * bmt.world_size(), 5) + tensor = ref_result.chunk(bmt.world_size(), dim=0)[bmt.rank()] + real_result = bmt.gather_result(tensor) + assert torch.allclose(ref_result, real_result, atol=1e-6), "Assertion failed for real gather result error" + + for i in range(4): + size = i + 1 + tensor_slice = tensor[:size, :size] + result_slice = bmt.gather_result(tensor_slice) + test_slice = torch.chunk(result_slice, bmt.world_size(), dim=0)[i] + assert torch.allclose(tensor_slice, test_slice), f"Assertion failed for tensor_slice_{i}" + +print("All test passed") + +if __name__ == '__main__': + bmt.init_distributed(pipe_size=1) + test_main() diff --git a/examples/BMTrain/tests/test_training.py b/examples/BMTrain/tests/test_training.py new file mode 100644 index 00000000..46389802 --- /dev/null +++ b/examples/BMTrain/tests/test_training.py @@ -0,0 +1,516 @@ +from bmtrain.optim import optim_manager +from utils import * + +from typing import Optional +import torch +import math +import torch.nn.functional as F +import bmtrain as bmt +import os +from bmtrain import inspect + +def clip_grad_norm(loss_scale, param_groups, max_norm, norm_type=2, eps=1e-6, is_torch=False): + """Clips gradient norm of an iterable of parameters. + + The norm is computed over all gradients together, as if they were concatenated into a single vector. Gradients are modified in-place. + + Args: + parameters (Iterable[Tensor] or Tensor): an iterable of Tensors or a single Tensor that will have gradients normalized. + max_norm (float or int): max norm of the gradients. + norm_type (float or int): type of the used p-norm. Can be 'inf' for infinity norm. + eps (float): epsilon used to avoid zero division. + + Returns: + Total norm of the parameters (viewed as a single vector). + """ + scale = loss_scale + grads = [] + parameters = [p for group in param_groups for p in group['params']] + for p in parameters: + if p.grad is not None: + grads.append(p.grad.data) + else: + grads.append(torch.zeros_like(p.data)) + + if norm_type == 'inf': + total_norm_cuda = max(g.data.abs().max() for g in grads).detach() + if not is_torch: + bmt.nccl.allReduce(total_norm_cuda.storage(), total_norm_cuda.storage(), "max", bmt.config["comm"]) + total_norm = total_norm_cuda + else: + norm_type = float(norm_type) + total_norm_cuda = torch.cuda.FloatTensor([0]) + for index, g in enumerate(grads): + param_norm = g.data.float().norm(norm_type) + total_norm_cuda += param_norm ** norm_type + if not is_torch: + bmt.nccl.allReduce(total_norm_cuda.storage(), total_norm_cuda.storage(), "sum", bmt.config["comm"]) + total_norm = total_norm_cuda[0] ** (1. / norm_type) + clip_coef = float(max_norm * scale) / (total_norm + eps) + if clip_coef < 1: + for p in parameters: + if p.grad is not None: + p.grad.data.mul_(clip_coef) + return total_norm / scale + +class Attention(torch.nn.Module): + def __init__(self, + dim_model : int, dim_head : int, + num_heads : int, bias : bool = True, + dtype = None + ) -> None: + super().__init__() + + self.project_q = torch.nn.Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + self.project_k = torch.nn.Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + self.project_v = torch.nn.Linear(dim_model, dim_head * num_heads, bias=bias, dtype=dtype) + + self.project_out = torch.nn.Linear(dim_head * num_heads, dim_model, bias=bias, dtype=dtype) + + self.softmax = torch.nn.Softmax(dim=-1) + self.num_heads = num_heads + self.dim_head = dim_head + self.dim_model = dim_model + + def forward(self, + hidden_q : torch.Tensor, # (batch_size, seq_q, dim_model) + hidden_kv : torch.Tensor, # (batch_size, seq_kv, dim_model) + mask : torch.BoolTensor, # (batch_size, seq_q, seq_kv) + position_bias : Optional[torch.Tensor] = None, # (batch, num_heads, seq_q, seq_kv) + ) -> torch.Tensor: + batch_size, seq_q, dim_model = hidden_q.size() + seq_kv = hidden_kv.size(1) + + h_q : torch.Tensor = self.project_q(hidden_q) + h_k : torch.Tensor = self.project_k(hidden_kv) + h_v : torch.Tensor = self.project_v(hidden_kv) + + h_q = h_q.view(batch_size, seq_q, self.num_heads, self.dim_head) + h_k = h_k.view(batch_size, seq_kv, self.num_heads, self.dim_head) + h_v = h_v.view(batch_size, seq_kv, self.num_heads, self.dim_head) + + h_q = h_q.permute(0, 2, 1, 3).contiguous() + h_k = h_k.permute(0, 2, 1, 3).contiguous() + h_v = h_v.permute(0, 2, 1, 3).contiguous() + + h_q = h_q.view(batch_size * self.num_heads, seq_q, self.dim_head) + h_k = h_k.view(batch_size * self.num_heads, seq_kv, self.dim_head) + h_v = h_v.view(batch_size * self.num_heads, seq_kv, self.dim_head) + + score = torch.bmm( + h_q, h_k.transpose(1, 2) + ) + score = score / math.sqrt(self.dim_head) + + score = score.view(batch_size, self.num_heads, seq_q, seq_kv) + + if position_bias is not None: + score = score + position_bias.view(batch_size, self.num_heads, seq_q, seq_kv) + + score = torch.where( + mask.view(batch_size, 1, seq_q, seq_kv), + score, + torch.scalar_tensor(float('-inf'), device=score.device, dtype=score.dtype) + ) + + score = torch.where( + mask.view(batch_size, 1, seq_q, seq_kv), + self.softmax(score), + torch.scalar_tensor(0, device=score.device, dtype=score.dtype) + ) + + score = score.view(batch_size * self.num_heads, seq_q, seq_kv) + + h_out = torch.bmm( + score, h_v + ) + h_out = h_out.view(batch_size, self.num_heads, seq_q, self.dim_head) + h_out = h_out.permute(0, 2, 1, 3).contiguous() + h_out = h_out.view(batch_size, seq_q, self.num_heads * self.dim_head) + + attn_out = self.project_out(h_out) + return attn_out + +class Feedforward(torch.nn.Module): + def __init__(self, dim_model : int, dim_ff : int, bias : bool = True, dtype = None) -> None: + super().__init__() + + self.w_in = torch.nn.Linear(dim_model, dim_ff, bias = bias, dtype=dtype) + self.w_out = torch.nn.Linear(dim_ff, dim_model, bias = bias, dtype=dtype) + + self.relu = torch.nn.ReLU() + + def forward(self, input : torch.Tensor) -> torch.Tensor: + return self.w_out(self.relu(self.w_in(input))) + + +class TransformerEncoder(torch.nn.Module): + def __init__(self, + dim_model : int, dim_head : int, num_heads : int, dim_ff : int, + bias : bool = True, dtype = None + ) -> None: + super().__init__() + + self.ln_attn = torch.nn.LayerNorm(dim_model, dtype=dtype) + self.attn = Attention(dim_model, dim_head, num_heads, bias=bias, dtype=dtype) + + self.ln_ff = torch.nn.LayerNorm(dim_model, dtype=dtype) + self.ff = Feedforward(dim_model, dim_ff, bias=bias, dtype=dtype) + + def forward(self, + hidden : torch.Tensor, # (batch, seq_len, dim_model) + mask : torch.BoolTensor, # (batch, seq_len, dim_model) + position_bias : Optional[torch.Tensor] = None, # (batch, num_head, seq_len, seq_len) + ): + x = self.ln_attn(hidden) + x = self.attn(x, x, mask, position_bias) + hidden = hidden + x + + x = self.ln_ff(hidden) + x = self.ff(x) + hidden = hidden + x + + return hidden + + +class GPT(torch.nn.Module): + def __init__(self, + num_layers : int, vocab_size : int, + dim_model : int, dim_head : int, num_heads : int, dim_ff : int, + max_distance : int, + bias : bool = True, dtype = None + ) -> None: + super().__init__() + + self.dtype = dtype + self.max_distance = max_distance + + self.word_emb = torch.nn.Embedding(vocab_size, dim_model, dtype=dtype) + self.pos_emb = torch.nn.Embedding(max_distance, dim_model, dtype=dtype) + self.dim_model = dim_model + + self.transformers = torch.nn.ModuleList([ + TransformerEncoder( + dim_model, dim_head, num_heads, dim_ff, bias, dtype + ) + for _ in range(num_layers) + ]) + self.run_unroll = False + + self.layernorm = torch.nn.LayerNorm(dim_model, dtype=dtype) + + def forward(self, + input : torch.LongTensor, # (batch, seq_len) + pos : torch.LongTensor, # (batch, seq_len) + mask : torch.BoolTensor, # (batch, seq_len) + ) -> torch.Tensor: + + mask_2d = mask[:, None, :] & mask[:, :, None] # (batch, seq_len, seq_len) + mask_2d = mask_2d & (pos[:, None, :] >= pos[:, :, None]) + + input_emb = self.pos_emb(pos) + self.word_emb(input) + + out = input_emb + if isinstance(self.transformers, torch.nn.ModuleList) or self.run_unroll: + for layer in self.transformers: + out = layer(out, mask_2d, None) + else: + out = self.transformers(out, mask_2d, None) + out = self.layernorm(out) + + logits = F.linear(out, self.word_emb.weight) / math.sqrt(self.dim_model) + + return logits + +def sub_train_torch(model, loss_func_cls, optimizer_cls): + loss_func = loss_func_cls(ignore_index=-100) + optimizer = optimizer_cls(model.parameters(), weight_decay=1e-2) + lr_scheduler = bmt.lr_scheduler.Noam(optimizer, start_lr=1e-3, warmup_iter=40, end_iter=1000, num_iter=0) + + optim_manager = bmt.optim.OptimManager(loss_scale=2**20 if model.dtype == torch.half else None) + optim_manager.add_optimizer(optimizer, lr_scheduler) + + # use the break if i == bmt.rank() to generate different data on different rank + torch.manual_seed(2333) + batch_size = 2 + seq_len = 512 + + sents = [] + enc_lengths = [] + enc_inputs = [] + targetss = [] + masks = [] + inps = [] + for i in range(bmt.world_size()): + sent = torch.randint(0, 10240, (batch_size, seq_len + 1)) + enc_length = torch.randint(128, seq_len, (batch_size,)).long().cuda() + enc_input = sent[:, :-1].long().cuda() + targets = sent[:, 1:].long().cuda() + mask = torch.arange(seq_len).long().cuda()[None, :] < enc_length[:, None] + targets = torch.where( + mask, + targets, + torch.full_like(targets, -100, dtype=torch.long) + ) + + sents.append(sent) + enc_lengths.append(enc_length) + enc_inputs.append(enc_input) + targetss.append(targets) + masks.append(mask) + inps.append((sent,enc_length,enc_input,targets,mask)) + + logs = [] + for iter in range(100): + + optim_manager.zero_grad() + global_loss = 0 + for inp in inps: + sent, enc_length, enc_input, targets, mask = inp + pos = torch.arange(enc_input.size(1)).long().cuda().repeat(enc_input.size(0), 1) + logits = model(enc_input, pos, pos < enc_length[:, None]) + + batch, seq_len, vocab_out_size = logits.size() + + loss = loss_func(logits.view(batch * seq_len, vocab_out_size), targets.view(batch * seq_len)) / len(inps) + + global_loss += loss.item() + + loss = optim_manager.loss_scale * loss + loss.backward() + current_stream = torch.cuda.current_stream() + current_stream.wait_stream(bmt.config['load_stream']) + grad_norm = clip_grad_norm(optim_manager.loss_scale, optimizer.param_groups, max_norm=10.0, is_torch = True) + + optim_manager.step() + + bmt.print_rank("| Iter: {:6d} | loss: {:.4f} {:.4f} | lr: {:.4e} scale: {:10.4f} | grad_norm: {:.4f} |".format( + iter, + global_loss, + loss, + lr_scheduler.current_lr, + optim_manager.loss_scale, + grad_norm, + )) + logs.append(global_loss) + + summary = inspect.inspect_model(model, "*") + return logs, summary + +def sub_train(model, loss_func_cls, optimizer_cls): + loss_func = loss_func_cls(ignore_index=-100) + optimizer = optimizer_cls(model.parameters(), weight_decay=1e-2) + lr_scheduler = bmt.lr_scheduler.Noam(optimizer, start_lr=1e-3, warmup_iter=40, end_iter=1000, num_iter=0) + + optim_manager = bmt.optim.OptimManager(loss_scale=2**20 if model.dtype == torch.half else None) + optim_manager.add_optimizer(optimizer, lr_scheduler) + + # use the break if i == bmt.rank() to generate different data on different rank + torch.manual_seed(2333) + batch_size = 2 + seq_len = 512 + sents = [] + enc_lengths = [] + enc_inputs = [] + targetss = [] + masks = [] + for i in range(bmt.world_size()): + sent = torch.randint(0, 10240, (batch_size, seq_len + 1)) + enc_length = torch.randint(128, seq_len, (batch_size,)).long().cuda() + enc_input = sent[:, :-1].long().cuda() + targets = sent[:, 1:].long().cuda() + mask = torch.arange(seq_len).long().cuda()[None, :] < enc_length[:, None] + targets = torch.where( + mask, + targets, + torch.full_like(targets, -100, dtype=torch.long) + ) + + sents.append(sent) + enc_lengths.append(enc_length) + enc_inputs.append(enc_input) + targetss.append(targets) + masks.append(mask) + # sent = torch.cat(sents, dim=0) + # enc_length = torch.cat(enc_lengths, dim=0) + # enc_input = torch.cat(enc_inputs, dim=0) + # targets = torch.cat(targetss, dim=0) + # mask = torch.cat(masks, dim=0) + sent = sents[bmt.rank()] + enc_length = enc_lengths[bmt.rank()] + enc_input = enc_inputs[bmt.rank()] + targets = targetss[bmt.rank()] + mask = masks[bmt.rank()] + + + logs = [] + pos = torch.arange(enc_input.size(1)).long().cuda().repeat(enc_input.size(0), 1) + for iter in range(100): + optim_manager.zero_grad() + logits = model(enc_input, pos, pos < enc_length[:, None]) + + batch, seq_len, vocab_out_size = logits.size() + + loss = loss_func(logits.view(batch * seq_len, vocab_out_size), targets.view(batch * seq_len)) + + global_loss = bmt.sum_loss(loss).item() + + optim_manager.backward(loss) + grad_norm = clip_grad_norm(optim_manager.loss_scale, optimizer.param_groups, max_norm=10.0) + + optim_manager.step() + bmt.print_rank("| Iter: {:6d} | loss: {:.4f} {:.4f} | lr: {:.4e} scale: {:10.4f} | grad_norm: {:.4f} |".format( + iter, + global_loss, + loss, + lr_scheduler.current_lr, + optim_manager.loss_scale, + grad_norm, + )) + logs.append(global_loss) + + summary = inspect.inspect_model(model, "*") + return logs, summary + +def train(model, loss_func, optimizer): + key = f"{model[0]}*{loss_func[0]}*{optimizer[0]}" + model = model[1]() + if key.startswith("torch"): + ret = sub_train_torch(model, loss_func[1], optimizer[1]) + else: + ret = sub_train(model, loss_func[1], optimizer[1]) + del model + bmt.print_rank(f"finished {key}") + return key, ret + +def test_main(test_fp16=True, test_fp32=True): + ckpt_path = "test_ckpt.pt" + + kwargs = { + "num_layers": 8, + "vocab_size": 10240, + "dim_model": 2560, + "dim_head": 80, + "num_heads": 32, + "dim_ff": 8192, + "max_distance": 1024, + "bias": True, + "dtype": None, + } + + def make_ref_ckpt(): + model = GPT(**kwargs) + if bmt.rank() == 0: + torch.save(model.state_dict(), ckpt_path) + bmt.synchronize() + del model + + ret = {} + def torch_model(): + model = GPT(**kwargs) + model.load_state_dict(torch.load(ckpt_path)) + model = model.cuda() + return model + + def wrap_model(): + model = GPT(**kwargs) + wrap_model = bmt.BMTrainModelWrapper(model) + bmt.load(wrap_model, ckpt_path) + return model + + def list_model(): + model = GPT(**kwargs) + list_model = bmt.BMTrainModelWrapper(model) + list_model.transformers = bmt.TransformerBlockList([m for m in list_model.transformers]) + bmt.load(list_model, ckpt_path) + return model + + def pipe_model(): + model = GPT(**kwargs) + pipe_model = bmt.BMTrainModelWrapper(model) + for m in pipe_model.transformers: + assert isinstance(m, bmt.Block) + pipe_model.transformers = bmt.PipelineTransformerBlockList([m for m in pipe_model.transformers]) + bmt.load(pipe_model, ckpt_path) + return model + + def unroll_list_model(): + model = GPT(**kwargs) + list_model = bmt.BMTrainModelWrapper(model) + list_model.transformers = bmt.TransformerBlockList([m for m in list_model.transformers]) + bmt.load(list_model, ckpt_path) + model.run_unroll = True + return model + + models = { + "torch": torch_model, + "wrapper": wrap_model, + "blocklist": list_model, + # "pipelist": pipe_model, + "unroll_blocklist": unroll_list_model, + } + loss_funcs = { + "bmt_entropy": bmt.loss.FusedCrossEntropy, + "torch_entropy": torch.nn.CrossEntropyLoss, + } + optimizers = { + "bmt_adam": bmt.optim.AdamOptimizer, + "bmt_adam_offload": bmt.optim.AdamOffloadOptimizer, + "torch_adam": torch.optim.Adam, + } + + ret = {} + def add_to_check_list(m, l, o): + key, value = train((m, models[m]), (l, loss_funcs[l]), (o, optimizers[o])) + ret[key] = value + + if test_fp16: + kwargs["dtype"] = torch.half + make_ref_ckpt() + add_to_check_list("torch", "bmt_entropy", "bmt_adam") + add_to_check_list("wrapper", "bmt_entropy", "bmt_adam") + add_to_check_list("blocklist", "bmt_entropy", "bmt_adam") + # add_to_check_list("pipelist", "bmt_entropy", "bmt_adam") + add_to_check_list("blocklist", "torch_entropy", "bmt_adam") + add_to_check_list("blocklist", "bmt_entropy", "bmt_adam_offload") + add_to_check_list("unroll_blocklist", "bmt_entropy", "bmt_adam") + if bmt.rank() == 0: + os.remove(ckpt_path) + check(ret) + + if test_fp32: + kwargs["dtype"] = torch.float + make_ref_ckpt() + add_to_check_list("torch", "torch_entropy", "bmt_adam") + add_to_check_list("wrapper", "torch_entropy", "bmt_adam") + add_to_check_list("blocklist", "torch_entropy", "bmt_adam") + # add_to_check_list("pipelist", "torch_entropy", "bmt_adam") + add_to_check_list("blocklist", "torch_entropy", "bmt_adam_offload") + add_to_check_list("blocklist", "torch_entropy", "torch_adam") + add_to_check_list("unroll_blocklist", "bmt_entropy", "bmt_adam") + if bmt.rank() == 0: + os.remove(ckpt_path) + check(ret) + +def check(ret): + if bmt.rank() == 0: + for k1, v1 in ret.items(): + for k2, v2 in ret.items(): + if k1 != k2: + print(f"checking {k1} vs. {k2}") + check_param(v1[1], v2[1]) + bmt.synchronize() + ret.clear() + +def check_param(info1, info2): + for l1, l2 in zip(info1, info2): + for key in ['std', 'mean', 'max', 'min']: + v1 = l1[key] + v2 = l2[key] + assert_lt(abs(v1-v2), 1e-2) + +if __name__ == '__main__': + bmt.init_distributed(pipe_size=1) + + + test_main(test_fp16=True, test_fp32=True) diff --git a/examples/BMTrain/tests/utils.py b/examples/BMTrain/tests/utils.py new file mode 100644 index 00000000..62831fea --- /dev/null +++ b/examples/BMTrain/tests/utils.py @@ -0,0 +1,14 @@ +def assert_eq(a, b): + assert a == b, f"{a} != {b}" + +def assert_neq(a, b): + assert a != b, f"{a} == {b}" + +def assert_lt(a, b): + assert a < b, f"{a} >= {b}" + +def assert_gt(a, b): + assert a > b, f"{a} <= {b}" + +def assert_all_eq(a, b): + assert_eq((a==b).all(), True) \ No newline at end of file diff --git a/examples/CPM.cu/.arsync b/examples/CPM.cu/.arsync new file mode 100644 index 00000000..f9635cc6 --- /dev/null +++ b/examples/CPM.cu/.arsync @@ -0,0 +1,10 @@ +auto_sync_up 0 +local_options -var +local_path /Users/tachicoma/projects/CPM.cu +remote_host sa.km +remote_options -var +remote_or_local remote +remote_path /home/sunao/cpm.cu +remote_port 0 +rsync_flags ["--max-size=100m"] +backend rsync diff --git a/examples/CPM.cu/.gitignore b/examples/CPM.cu/.gitignore new file mode 100644 index 00000000..acdb2c98 --- /dev/null +++ b/examples/CPM.cu/.gitignore @@ -0,0 +1,222 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/latest/usage/project/#working-with-version-control +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + + +build/ +# Cuda +*.i +*.ii +*.gpu +*.ptx +*.cubin +*.fatbin + +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +.DS_Store +.vscode + +# Checkpoints +checkpoints/* +!checkpoints/.gitkeep + +# Cursor Rules +.mdc + +# FR-Spec Index +fr_index + +# Prompt Files +tests/*.txt +prompt.txt \ No newline at end of file diff --git a/examples/CPM.cu/.gitmodules b/examples/CPM.cu/.gitmodules new file mode 100644 index 00000000..a00c8278 --- /dev/null +++ b/examples/CPM.cu/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/cutlass"] + path = src/cutlass + url = https://github.com/NVIDIA/cutlass.git diff --git a/examples/CPM.cu/LICENSE b/examples/CPM.cu/LICENSE new file mode 100644 index 00000000..99908f2a --- /dev/null +++ b/examples/CPM.cu/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2024 OpenBMB + + 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. \ No newline at end of file diff --git a/examples/CPM.cu/README.md b/examples/CPM.cu/README.md new file mode 100644 index 00000000..c4fb84f5 --- /dev/null +++ b/examples/CPM.cu/README.md @@ -0,0 +1,167 @@ +# CPM.cu + +<strong>[中文版本](./README_ZH.md) | English</strong> + +CPM.cu is a lightweight, high-performance CUDA implementation for LLMs, optimized for end-device inference and featuring cutting-edge techniques in **sparse architecture**, **speculative sampling** and **quantization**. + +<div id="news"></div> + +## 🔥 Project Updates + +- [2025.06.06] Optimized for [MiniCPM4](https://github.com/openbmb/minicpm). + - Support InfLLM-v2 attention kernel + - Support sliding-window for the MTP layer, optimized for long context + - Support quantization for the MTP layer +- [2025.05.29] Support Quantization at [SpecMQuant](https://github.com/AI9Stars/SpecMQuant). + - Support Marlin GPTQ kernel for the LLM + - Support Speculative Sampling for quantized LLM +- [2025.03.01] Release the first version at [FR-Spec](https://github.com/thunlp/FR-Spec). + - SOTA Speculative Sampling Implementation + - Support FR-Spec: Frequency-Ranked Speculative Sampling + - Support Tree-based verification of Speculative Sampling in Flash-Attention + - Support Static memory management and memory reuse + - Support Fused kernels + - Support Chunked prefill + - Support CUDA Graph + +<div id="demo"></div> + +## Demo + +https://github.com/user-attachments/assets/ab36fd7a-485b-4707-b72f-b80b5c43d024 + +<div id="getstart"></div> + +## Getting Started + +- [Installation](#install) +- [Model Weights](#modelweights) +- [Quick Start](#example) + +<div id="install"></div> + +## Installation + +### Install from source + +```bash +git clone https://github.com/OpenBMB/CPM.cu.git --recursive +cd CPM.cu +python3 setup.py install +``` + +<div id="modelweights"></div> + +## Prepare Model + +Please follow [MiniCPM4's README](https://github.com/openbmb/minicpm) to download the model weights. + +<div id="example"></div> + +## Quick Start + +We provide a simple example to show how to use CPM.cu to generate text. + +```bash +python3 tests/test_generate.py --prompt-file <your prompt file> +``` + +If you don't ​​specify​​ the model path, the scripts will load the model from ​​OpenBMB's Hugging Face repository​​. +If you want to use local paths, we recommend keeping all model filenames unchanged and placing them in the same directory. This way, you can run the model by specifying the directory with the -p parameter. Otherwise, we suggest modifying the paths in the code accordingly. + +If you don't ​​specify​​ the prompt file, a default ​​Haystack task​​ with ​​15K context length​​ will be provided. +You can use --help to learn more ​​about the script's features​​. + +We also provide a script, `tests/long_prompt_gen.py`, to generate ​​long code summarization. +This script ​​automatically collects code from this repository​​ and prompts ​​the model to "Summarize the code."​ + +```bash +python3 tests/long_prompt_gen.py # generate prompt.txt (for more details, use --help) +python3 tests/test_generate.py --prompt-file prompt.txt +``` + +The output should be of the following format: + +```bash +Generated text (streaming output): +-------------------------------------------------- +Prefilling: 100.0% (106850/106850 tokens) @ 6565.3 tokens/s - Complete! + +<Generated Output HERE> +================================================== +Stream Generation Summary: +================================================== +Prefill length: 106850 +Prefill time: 16.36 s +Prefill tokens/s: 6530.77 +Mean accept length: 2.50 +Decode length: 118 +Decode time: 0.76 s +Decode tokens/s: 154.59 +``` + +Where: + +- the `Prefill` and `Decode` speed are output by (length, time and token/s). +- the `Mean accept length` is the average length of the accepted tokens when using Speculative Sampling. + +## Code Structure + +```bash +CPM.cu/ +├── src/ +│ ├── flash_attn/ # attention kernels: sparse, tree-verification, etc. +│ ├── model/ +│ │ ├── minicpm4/ # minicpm4 model +│ │ ├── w4a16_gptq_marlin/ # marlin kernel +│ │ └── ... # common layers +│ ├── entry.cu # pybind: bind cuda and python +│ └── ... +├── cpmcu/ # python interface +└── ... +``` + +## More +We provide a word frequency generation script for FR-Spec, located at "scripts/fr_spec/gen_fr_index.py". You can run it as follows: +``` +python scripts/fr_spec/gen_fr_index.py --model_path <your_model_path> +``` +You can modify the code to use your own dataset. If your task is in a specific vertical domain, constructing word frequencies tailored to that domain can significantly improve processing speed. + + +## Acknowledgments + +Our `src/flash_attn` folder modified based on [FlashAttention](https://github.com/Dao-AILab/flash-attention/tree/v2.6.3/csrc/flash_attn). + +We have drawn inspiration from the following repositories: + +- [EAGLE](https://github.com/SafeAILab/EAGLE) +- [Block-Sparse-Attention](https://github.com/mit-han-lab/Block-Sparse-Attention) +- [vLLM](https://github.com/vllm-project/vllm) +- [SGLang](https://github.com/sgl-project/sglang) + +## Citation + +Please cite our paper if you find our work valuable. + +``` +@article{zhao2025fr, + title={FR-Spec: Accelerating Large-Vocabulary Language Models via Frequency-Ranked Speculative Sampling}, + author={Zhao, Weilin and Pan, Tengyu and Han, Xu and Zhang, Yudi and Sun, Ao and Huang, Yuxiang and Zhang, Kaihuo and Zhao, Weilun and Li, Yuxuan and Wang, Jianyong and others}, + journal={arXiv preprint arXiv:2502.14856}, + year={2025} +} + +@article{zhang2025specmqaunt, + title={Speculative Decoding Meets Quantization: Compatibility Evaluation and Hierarchical Framework Design}, + author={Zhang, Yudi and Zhao, Weilin and Han, Xu and Zhao, Tiejun and Xu, Wang and Cao, Hailong and Zhu, Conghui}, + journal={arXiv preprint arXiv:2505.22179}, + year={2025} +} + +@article{minicpm4, + title={MiniCPM4: Ultra-Efficient LLMs on End Devices}, + author={MiniCPM}, + year={2025} +} +``` \ No newline at end of file diff --git a/examples/CPM.cu/README_ZH.md b/examples/CPM.cu/README_ZH.md new file mode 100644 index 00000000..7f364ad3 --- /dev/null +++ b/examples/CPM.cu/README_ZH.md @@ -0,0 +1,165 @@ +# CPM.cu + +<strong>中文 | [English Version](./README.md)</strong> + +CPM.cu 是一个针对端侧大模型推理设计的轻量、高效的 CUDA 推理框架,核心支持 **稀疏架构**、**投机采样** 和 **低位宽量化** 等前沿技术创新。 + +<div id="news"></div> + +## 🔥 项目进展 + +- [2025.06.06] 为 [MiniCPM4](https://github.com/openbmb/minicpm) 优化。 + - 支持 InfLLM-v2 注意力内核 + - 支持 MTP 层的滑动窗口,优化长上下文处理 + - 支持 MTP 层的量化 +- [2025.05.29] 支持 [SpecMQuant](https://github.com/AI9Stars/SpecMQuant) 的量化。 + - 支持 LLM 的 Marlin GPTQ 内核 + - 支持量化 LLM 的投机采样 +- [2025.03.01] 在 [FR-Spec](https://github.com/thunlp/FR-Spec) 发布首个版本。 + - 速度最快的投机采样实现 + - 支持 FR-Spec, 基于词频优化的投机采样 + - 支持 Flash-Attention 中的树状投机采样验证 + - 支持静态内存管理和内存复用 + - 支持计算融合内核 + - 支持分块预填充 + - 支持 CUDA Graph + +<div id="demo"></div> + +## 效果演示 + +https://github.com/user-attachments/assets/ab36fd7a-485b-4707-b72f-b80b5c43d024 + +<div id="getstart"></div> + +## 快速开始 + +- [框架安装](#install) +- [模型权重](#modelweights) +- [运行示例](#example) + +<div id="install"></div> + +## 框架安装 + +### 从源码安装 + +```bash +git clone https://github.com/OpenBMB/cpm.cu.git --recursive +cd cpm.cu +python3 setup.py install +``` + +<div id="modelweights"></div> + +## 准备模型 + +请按照 [MiniCPM4 的 README](https://github.com/openbmb/minicpm) 的说明下载模型权重。 + +<div id="example"></div> + +## 运行示例 + +我们提供了一个简单的示例来展示如何使用 CPM.cu。 + +```bash +python3 tests/test_generate.py --prompt-file <输入文件路径> +``` + +如果您不指定模型路径,脚本将从 OpenBMB 的 Hugging Face 仓库加载模型。 +如果你想使用本地路径,我们推荐不修改所有模型文件名并放在同一目录下,这样可以通过-p指定该目录运行模型。否则建议修改代码中的路径。 + +如果您不指定输入文件,将提供一个默认的 Haystack 任务,上下文长度为 15K。 +您可以使用 --help 了解更多关于脚本的功能。 + +我们还有一个脚本,`tests/long_prompt_gen.py`,用于生成长代码总结。 +这个脚本会自动从本仓库中收集代码,并提示模型“总结代码”。 + +```bash +python3 tests/long_prompt_gen.py # 生成 prompt.txt (更多细节请见 --help) +python3 tests/test_generate.py --prompt-file prompt.txt +``` + +输出应为如下格式: + +```bash +Generated text (streaming output): +-------------------------------------------------- +Prefilling: 100.0% (106850/106850 tokens) @ 6565.3 tokens/s - Complete! + +<Generated Output HERE> +================================================== +Stream Generation Summary: +================================================== +Prefill length: 106850 +Prefill time: 16.36 s +Prefill tokens/s: 6530.77 +Mean accept length: 2.50 +Decode length: 118 +Decode time: 0.76 s +Decode tokens/s: 154.59 +``` + +其中: + +- `Prefill` (输入) 和 `Decode` (输出) 速度通过(长度、时间和 token/s)输出。 +- `Mean accept length` (平均接受长度) 是使用投机采样时接受 token 的平均长度。 + +## 代码结构 + +```bash +cpm.cu/ +├── src/ +│ ├── flash_attn/ # attention: 稀疏, 投机树状验证等 +│ ├── model/ +│ │ ├── minicpm4/ # minicpm4 模型 +│ │ ├── w4a16_gptq_marlin/ # Marlin GPTQ 计算内核 +│ │ └── ... # 通用层 +│ ├── entry.cu # pybind: 绑定 CUDA 和 Python +│ └── ... +├── cpmcu/ # Python 接口 +└── ... +``` +## 更多 +我们提供了FR-Spec的词频生成脚本,位于"scripts/fr_spec/gen_fr_index.py",运行方式如下: +``` +python scripts/fr_spec/gen_fr_index.py --model_path <your modelpath> +``` +你可以修改代码使用自己的数据集。如果你的任务是特定垂直领域,根据领域构造词频对速度提升有显著收益。 + +## 致谢 + +我们的 `src/flash_attn` 文件夹基于 [FlashAttention](https://github.com/Dao-AILab/flash-attention/tree/v2.6.3/csrc/flash_attn) 并进行了修改。 + +我们从以下仓库中获取了实现灵感: + +- [EAGLE](https://github.com/SafeAILab/EAGLE) +- [Block-Sparse-Attention](https://github.com/mit-han-lab/Block-Sparse-Attention) +- [vLLM](https://github.com/vllm-project/vllm) +- [SGLang](https://github.com/sgl-project/sglang) + +## 引用 + +如果您觉得我们的工作有价值,请引用我们的论文。 + +``` +@article{zhao2025fr, + title={FR-Spec: Accelerating Large-Vocabulary Language Models via Frequency-Ranked Speculative Sampling}, + author={Zhao, Weilin and Pan, Tengyu and Han, Xu and Zhang, Yudi and Sun, Ao and Huang, Yuxiang and Zhang, Kaihuo and Zhao, Weilun and Li, Yuxuan and Wang, Jianyong and others}, + journal={arXiv preprint arXiv:2502.14856}, + year={2025} +} + +@article{zhang2025specmqaunt, + title={Speculative Decoding Meets Quantization: Compatibility Evaluation and Hierarchical Framework Design}, + author={Zhang, Yudi and Zhao, Weilin and Han, Xu and Zhao, Tiejun and Xu, Wang and Cao, Hailong and Zhu, Conghui}, + journal={arXiv preprint arXiv:2505.22179}, + year={2025} +} + +@article{minicpm4, + title={MiniCPM4: Ultra-Efficient LLMs on End Devices}, + author={MiniCPM}, + year={2025} +} +``` \ No newline at end of file diff --git a/examples/CPM.cu/cpmcu/__init__.py b/examples/CPM.cu/cpmcu/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/examples/CPM.cu/cpmcu/llm.py b/examples/CPM.cu/cpmcu/llm.py new file mode 100644 index 00000000..fb594c6b --- /dev/null +++ b/examples/CPM.cu/cpmcu/llm.py @@ -0,0 +1,422 @@ +from . import C + +import os, json, glob +import torch +from transformers import AutoTokenizer, AutoConfig +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS +from safetensors.torch import load_file +import time, math +import torch.nn.functional as F + +dtype_map = { + torch.float16: 0, + torch.bfloat16: 1, +} + +def dtype_to_int(dtype): + ret = dtype_map.get(dtype, -1) + if ret == -1: + raise ValueError(f"Unsupported dtype: {dtype}") + return ret + +class LLM(torch.nn.Module): + def __init__(self, + path: str, # hf model path + memory_limit: float = 0.8, + chunk_length: int = 1024, + dtype: torch.dtype = None, + cuda_graph: bool = False, + apply_sparse: bool = False, + sink_window_size: int = 1, + block_window_size: int = 32, + sparse_topk_k: int = 32, + sparse_switch: int = 8192, + apply_compress_lse: bool = False, + use_enter: bool = False, + use_decode_enter: bool = False, + temperature: float = 0.0, + random_seed: int = None, + ): + super().__init__() + + self.path = path + self.tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True) + self.config = AutoConfig.from_pretrained(path, trust_remote_code=True) + self.dtype = dtype if dtype is not None else self.config.torch_dtype + self.dtype_int = dtype_to_int(self.dtype) + self.cuda_graph = cuda_graph + self.use_enter = use_enter + self.use_decode_enter = use_decode_enter + self.temperature = temperature + + self.chunk_length = chunk_length + # Flag for showing prefill progress (used in stream mode) + self._show_prefill_progress = False + + # Initialize random generator if random_seed is provided + if random_seed is not None: + self.generator = torch.Generator(device="cuda") + self.generator.manual_seed(random_seed) + else: + self.generator = None + + if not hasattr(self.config, "head_dim"): + self.config.head_dim = self.config.hidden_size // self.config.num_attention_heads + scale_embed = self.config.scale_emb if hasattr(self.config, "scale_emb") else 1.0 + scale_lmhead = (self.config.dim_model_base / self.config.hidden_size) if hasattr(self.config, "dim_model_base") else 1.0 + scale_residual = self.config.scale_depth / math.sqrt(self.config.num_hidden_layers) if hasattr(self.config, "scale_depth") else 1.0 + + if apply_sparse: + C.init_minicpm4_model( + memory_limit, + self.config.vocab_size, + self.config.num_hidden_layers, + self.config.hidden_size, + self.config.intermediate_size, + self.config.num_attention_heads, + self.config.num_key_value_heads, + self.config.head_dim, + self.config.rms_norm_eps, + self.dtype_int, + self.chunk_length, + scale_embed, + scale_lmhead, + scale_residual, + sink_window_size, + block_window_size, + sparse_topk_k, + sparse_switch, + apply_compress_lse, + ) + else: + C.init_base_model( + memory_limit, + self.config.vocab_size, + self.config.num_hidden_layers, + self.config.hidden_size, + self.config.intermediate_size, + self.config.num_attention_heads, + self.config.num_key_value_heads, + self.config.head_dim, + self.config.rms_norm_eps, + self.dtype_int, + self.chunk_length, + scale_embed, + scale_lmhead, + scale_residual, + ) + + self.logits = torch.empty((64, self.config.vocab_size), dtype=self.dtype, device="cuda") + + def init_storage(self): + self.max_total_length = C.init_storage() + print("max supported length under current memory limit: ", self.max_total_length) + + def _load(self, name, param, dtype=None, cls=None): + if dtype is None: + if 'rotary_emb' in name: + dtype = torch.float32 + else: + dtype = self.dtype + + if 'gate_up_proj' in name: + self._load(name.replace("gate_up_proj", "gate_proj"), param[:param.shape[0]//2], dtype) + self._load(name.replace("gate_up_proj", "up_proj"), param[param.shape[0]//2:]) + elif 'qkv_proj' in name: + self._load(name.replace("qkv_proj", "q_proj"), param[:self.config.num_attention_heads * self.config.head_dim]) + self._load(name.replace("qkv_proj", "k_proj"), param[self.config.num_attention_heads * self.config.head_dim:(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim]) + self._load(name.replace("qkv_proj", "v_proj"), param[(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim:]) + else: + param = param.contiguous().to(dtype) + C.load_model(name, param.data_ptr()) + + if "embed_tokens" in name and hasattr(self.config, "tie_word_embeddings") and self.config.tie_word_embeddings: + self._load("lm_head.weight", param) + + def _load_from_ckpt(self, path, cls=None): + supported_suffix_1 = ["bin.index.json", "safetensors.index.json"] + supported_suffix_2 = ["bin", "safetensors", "pt"] + file = None + for suffix in supported_suffix_1: + files = glob.glob(os.path.join(path, f"*.{suffix}")) + if len(files) > 1: + raise ValueError(f"Multiple files with suffix {suffix} found in {path}") + elif len(files) == 1: + file = files[0] + break + else: + for suffix in supported_suffix_2: + files = glob.glob(os.path.join(path, f"*.{suffix}")) + if len(files) > 1: + raise ValueError(f"Multiple files with suffix {suffix} found in {path}") + elif len(files) == 1: + file = files[0] + break + else: + raise ValueError(f"No supported checkpoint file found in {path}, supported suffixes: {supported_suffix_1 + supported_suffix_2}") + + if file.endswith(".index.json"): + with open(file, "r") as f: + file_list = set(json.load(f)["weight_map"].values()) + file_list = [os.path.join(path, file) for file in file_list] + else: + file_list = [file] + + for file in file_list: + print(f"load from {file}") + if file.endswith(".bin") or file.endswith(".pt"): + ckpt = torch.load(file, map_location="cpu") + elif file.endswith(".safetensors"): + ckpt = load_file(file) + for name, param in ckpt.items(): + self._load(name, param, cls=cls) + + def load_from_hf(self): + with torch.no_grad(): + self._load_from_ckpt(self.path) + + # rope + if hasattr(self.config, "rope_scaling") and self.config.rope_scaling is not None: + rope_type = self.config.rope_scaling.get("rope_type", self.config.rope_scaling.get("type")) + if rope_type == "longrope" and not hasattr(self.config.rope_scaling, "factor"): + self.config.rope_scaling["factor"] = 1.0 + else: + rope_type = "default" + # TODO only support "default", "llama3" or "longrope" with long_factor=short_factor + inv_freq, attention_scaling = ROPE_INIT_FUNCTIONS[rope_type](self.config, "cpu", seq_len=self.max_total_length) + # attention_scaling = torch.tensor([attention_scaling], dtype=torch.float32, device="cpu") + self._load("model.rotary_emb.inv_freq", inv_freq, dtype=torch.float32) + # self._load("model.rotary_emb.attention_scaling", attention_scaling, dtype=torch.float32) + + def prefill(self, input_ids, position_ids): + assert input_ids.dtype == torch.int32 + # Check if input length exceeds maximum supported length + if input_ids.numel() > self.max_total_length: + raise ValueError(f"Input token count ({input_ids.numel()}) exceeds maximum supported length ({self.max_total_length}) under current memory limit") + + total_length = input_ids.numel() + num_chunks = (total_length + self.chunk_length - 1) // self.chunk_length + + prefill_start_time = None + actual_prefill_start = None + + # User interaction logic only when use_enter is True + if self._show_prefill_progress and self.use_enter: + # Clear screen and move cursor to top, then show prompt and wait for user input + print("\033[2J\033[H", end="", flush=True) # Clear screen and move to top + print("Please Press Enter to Start Prefilling...", end="", flush=True) + input() # Wait for Enter key + + # Replace the prompt with [Prefilling] - clear entire line first + print("\r" + " " * 50 + "\r[Prefilling]", flush=True) + # Start timing after user presses Enter + prefill_start_time = time.time() + actual_prefill_start = prefill_start_time + + # Initialize progress display for stream mode (always when _show_prefill_progress is True) + if self._show_prefill_progress: + if prefill_start_time is None: # Only set start time if not already set above + prefill_start_time = time.time() + if not self.use_enter: + print("Prefilling: 0.0% (0/{} tokens) @ 0.0 tokens/s".format(total_length), end="", flush=True) + else: + print("Prefilling: 0.0% (0/{} tokens) @ 0.0 tokens/s".format(total_length), end="", flush=True) + + # Record actual computation start time if not set yet + if actual_prefill_start is None: + actual_prefill_start = time.time() + + for chunk_idx, i in enumerate(range(0, input_ids.numel(), self.chunk_length)): + # torch.cuda.nvtx.range_push(f"chunk from {i}") + C.prefill( + min(input_ids.numel() - i, self.chunk_length), i, + input_ids.view(-1)[i:].data_ptr(), position_ids.view(-1)[i:].data_ptr(), + self.logits.data_ptr() + ) + # torch.cuda.nvtx.range_pop() + + # Show progress for stream mode - always when _show_prefill_progress is True + if self._show_prefill_progress and prefill_start_time is not None: + current_tokens = min(i + self.chunk_length, total_length) + elapsed_time = time.time() - prefill_start_time + progress = (current_tokens * 100.0) / total_length + tokens_per_sec = current_tokens / elapsed_time if elapsed_time > 0 else 0.0 + print(f"\rPrefilling: {progress:.1f}% ({current_tokens}/{total_length} tokens) @ {tokens_per_sec:.1f} tokens/s", end="", flush=True) + + # Calculate actual prefill time + actual_prefill_time = time.time() - actual_prefill_start + + # Final completion status for stream mode + if self._show_prefill_progress: + if prefill_start_time is not None: + final_elapsed_time = time.time() - prefill_start_time + final_tokens_per_sec = total_length / final_elapsed_time if final_elapsed_time > 0 else 0.0 + print(f"\rPrefilling: 100.0% ({total_length}/{total_length} tokens) @ {final_tokens_per_sec:.1f} tokens/s - Complete!") + if self.use_enter: + print("\n[Decoding]") # Show decoding status and move to next line only with use_enter + else: + print() # Just a newline for normal mode + + # Store the actual prefill time for use in generate method + self._last_prefill_time = actual_prefill_time + + return self.logits[:1].clone() + + def decode(self, input_ids, position_ids, cache_length, mask_2d = None): + assert input_ids.dtype == torch.int32 + assert position_ids.dtype == torch.int32 + assert cache_length.dtype == torch.int32 + if mask_2d is not None: + # assert mask_2d.dtype == torch.uint64 + assert input_ids.numel() == mask_2d.shape[0] + + # torch.cuda.nvtx.range_push(f"decode") + cache_length += input_ids.numel() # temparary add for convinience in flash_attn + padded_length = (cache_length[0].item() + 128 - 1) // 128 * 128 + C.decode( + input_ids.numel(), padded_length, + input_ids.data_ptr(), position_ids.data_ptr(), cache_length.data_ptr(), + mask_2d.data_ptr() if mask_2d is not None else 0, + self.logits.data_ptr(), + self.cuda_graph + ) + cache_length -= input_ids.numel() + # torch.cuda.nvtx.range_pop() + return self.logits[:input_ids.numel()].clone() + + def generate(self, input_ids, generation_length=100, teminators=[], use_stream=False): + """ + Generate text with optional streaming output. + Returns (tokens, decode_time, prefill_time) if use_stream=False, or generator yielding {'token', 'text', 'is_finished', 'prefill_time', 'decode_time'} if use_stream=True. + """ + assert input_ids.dtype == torch.int32 + + prefix_length = input_ids.numel() + position_ids = torch.arange(prefix_length, dtype=torch.int32, device="cuda") + + # Set progress flag before prefill for stream mode + if use_stream: + self._show_prefill_progress = True + + # Measure prefill time + if self.use_enter and use_stream: + # In use_enter mode, timing will be handled inside prefill method + logits = self.prefill(input_ids, position_ids) + prefill_time = getattr(self, '_last_prefill_time', 0.0) # Get actual prefill time + else: + torch.cuda.synchronize() + prefill_start = time.time() + logits = self.prefill(input_ids, position_ids) + torch.cuda.synchronize() + prefill_time = time.time() - prefill_start + + if self.temperature > 0.0: + token = torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)[0].item() + else: + token = logits[0].argmax(dim=-1).item() + + # Wait for user input before decode phase if use_decode_enter is enabled + if self.use_decode_enter: + if use_stream and self.use_enter: + # In stream mode with use_enter, we already showed [Decoding], just wait for input + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r", end="", flush=True) # Clear the prompt without showing [Decoding] again + else: + # In other modes, show prompt and wait + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r[Decoding]", flush=True) # Show [Decoding] only when use_enter is not enabled + + if not hasattr(self, "input_ids"): + self.input_ids = torch.tensor([0], dtype=torch.int32, device="cuda") + self.position_ids = torch.tensor([0], dtype=torch.int32, device="cuda") + self.cache_length = torch.tensor([0], dtype=torch.int32, device="cuda") + + if use_stream: + # Stream generation (optimized) + def _stream_generator(): + nonlocal token + # Keep minimal context for correct spacing + prev_token = token + + # yield first token + text = self.tokenizer.decode([token], skip_special_tokens=False) + + yield { + 'token': token, + 'text': text, + 'is_finished': token in teminators, + 'prefill_time': prefill_time, + 'decode_time': 0.0 # First token comes from prefill + } + + if token in teminators: + return + + decode_start_time = time.time() + + for i in range(generation_length-1): + self.input_ids[0] = token + self.position_ids[0] = prefix_length + i + self.cache_length[0] = prefix_length + i + + logits = self.decode(self.input_ids, self.position_ids, self.cache_length) + if self.temperature > 0.0: + token = torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)[0].item() + else: + token = logits[0].argmax(dim=-1).item() + + # For correct spacing, decode with previous token context + if prev_token is not None: + context_tokens = [prev_token, token] + context_text = self.tokenizer.decode(context_tokens, skip_special_tokens=False) + prev_text = self.tokenizer.decode([prev_token], skip_special_tokens=False) + text = context_text[len(prev_text):] + else: + text = self.tokenizer.decode([token], skip_special_tokens=False) + + is_finished = token in teminators or i == generation_length - 2 + + # Calculate time only when needed to reduce overhead + decode_time = time.time() - decode_start_time + + yield { + 'token': token, + 'text': text, + 'is_finished': is_finished, + 'prefill_time': 0.0, # Only report prefill_time for first token + 'decode_time': decode_time + } + + if token in teminators: + break + + # Update prev_token + prev_token = token + + return _stream_generator() + else: + # Original batch generation + tokens = [token] + torch.cuda.synchronize() + decode_start = time.time() + for i in range(generation_length-1): + self.input_ids[0] = token + self.position_ids[0] = prefix_length + i + self.cache_length[0] = prefix_length + i + + logits = self.decode(self.input_ids, self.position_ids, self.cache_length) + if self.temperature > 0.0: + token = torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)[0].item() + else: + token = logits[0].argmax(dim=-1).item() + tokens.append(token) + if token in teminators: + break + torch.cuda.synchronize() + decode_time = time.time() - decode_start + return tokens, decode_time, prefill_time + + def print_perf_summary(self): + C.print_perf_summary() \ No newline at end of file diff --git a/examples/CPM.cu/cpmcu/llm_w4a16_gptq_marlin.py b/examples/CPM.cu/cpmcu/llm_w4a16_gptq_marlin.py new file mode 100644 index 00000000..d80a869f --- /dev/null +++ b/examples/CPM.cu/cpmcu/llm_w4a16_gptq_marlin.py @@ -0,0 +1,434 @@ +from . import C + +import os, json, glob +import torch +from transformers import AutoTokenizer, AutoConfig +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS +from safetensors.torch import load_file +import time, math +import torch.nn.functional as F + +dtype_map = { + torch.float16: 0, + torch.bfloat16: 1, +} + +def dtype_to_int(dtype): + ret = dtype_map.get(dtype, -1) + if ret == -1: + raise ValueError(f"Unsupported dtype: {dtype}") + return ret + +class W4A16GPTQMarlinLLM(torch.nn.Module): + def __init__(self, + path: str, # hf model path + memory_limit: float = 0.8, + chunk_length: int = 1024, + dtype: torch.dtype = None, + cuda_graph: bool = False, + apply_sparse: bool = False, + sink_window_size: int = 1, + block_window_size: int = 32, + sparse_topk_k: int = 32, + sparse_switch: int = 8192, + apply_compress_lse: bool = False, + use_enter: bool = False, + use_decode_enter: bool = False, + temperature: float = 0.0, + random_seed: int = None, + ): + super().__init__() + + self.path = path + self.tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True) + self.config = AutoConfig.from_pretrained(path, trust_remote_code=True) + self.dtype = dtype if dtype is not None else self.config.torch_dtype + self.dtype_int = dtype_to_int(self.dtype) + self.cuda_graph = cuda_graph + self.use_enter = use_enter + self.use_decode_enter = use_decode_enter + self.temperature = temperature + self.chunk_length = chunk_length + # Flag for showing prefill progress (used in stream mode) + self._show_prefill_progress = False + + # Initialize random generator if random_seed is provided + if random_seed is not None: + self.generator = torch.Generator(device="cuda") + self.generator.manual_seed(random_seed) + else: + self.generator = None + + if not hasattr(self.config, "head_dim"): + self.config.head_dim = self.config.hidden_size // self.config.num_attention_heads + + self.group_size = self.config.quantization_config['group_size'] + scale_embed = self.config.scale_emb if hasattr(self.config, "scale_emb") else 1.0 + scale_lmhead = (self.config.dim_model_base / self.config.hidden_size) if hasattr(self.config, "dim_model_base") else 1.0 + scale_residual = self.config.scale_depth / math.sqrt(self.config.num_hidden_layers) if hasattr(self.config, "scale_depth") else 1.0 + + if apply_sparse: + C.init_w4a16_gptq_marlin_minicpm4_model( + memory_limit, + self.config.vocab_size, + self.config.num_hidden_layers, + self.config.hidden_size, + self.config.intermediate_size, + self.config.num_attention_heads, + self.config.num_key_value_heads, + self.config.head_dim, + self.config.rms_norm_eps, + self.group_size, + self.dtype_int, + self.chunk_length, + scale_embed, + scale_lmhead, + scale_residual, + sink_window_size, + block_window_size, + sparse_topk_k, + sparse_switch, + apply_compress_lse, + ) + else: + C.init_w4a16_gptq_marlin_base_model( + memory_limit, + self.config.vocab_size, + self.config.num_hidden_layers, + self.config.hidden_size, + self.config.intermediate_size, + self.config.num_attention_heads, + self.config.num_key_value_heads, + self.config.head_dim, + self.config.rms_norm_eps, + self.group_size, + self.dtype_int, + self.chunk_length, + scale_embed, + scale_lmhead, + scale_residual, + ) + + self.logits = torch.empty((64, self.config.vocab_size), dtype=self.dtype, device="cuda") + + def init_storage(self): + self.max_total_length = C.init_storage() + print("max supported length under current memory limit: ", self.max_total_length) + + def _load(self, name, param, dtype=None, cls=None): + # if ".q_proj." in name or ".k_proj." in name or ".v_proj." in name or ".gate_proj." in name or ".up_proj." in name: + # return + if dtype is None: + if 'rotary_emb' in name: + dtype = torch.float32 + else: + dtype = self.dtype + + # if 'gate_up_proj' in name: + # self._load(name.replace("gate_up_proj", "gate_proj"), param[:param.shape[0]//2], dtype) + # self._load(name.replace("gate_up_proj", "up_proj"), param[param.shape[0]//2:]) + # elif 'qkv_proj' in name: + # self._load(name.replace("qkv_proj", "q_proj"), param[:self.config.num_attention_heads * self.config.head_dim]) + # self._load(name.replace("qkv_proj", "k_proj"), param[self.config.num_attention_heads * self.config.head_dim:(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim]) + # self._load(name.replace("qkv_proj", "v_proj"), param[(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim:]) + # else: + param = param.contiguous() + if param.dtype not in [torch.int8, torch.int16, torch.int32]: + param = param.to(dtype) + C.load_model(name, param.data_ptr()) + + if "embed_tokens" in name and hasattr(self.config, "tie_word_embeddings") and self.config.tie_word_embeddings: + self._load("lm_head.weight", param) + + def _load_from_ckpt(self, path, cls=None): + supported_suffix_1 = ["bin.index.json", "safetensors.index.json"] + supported_suffix_2 = ["bin", "safetensors", "pt"] + file = None + for suffix in supported_suffix_1: + files = glob.glob(os.path.join(path, f"*.{suffix}")) + if len(files) > 1: + raise ValueError(f"Multiple files with suffix {suffix} found in {path}") + elif len(files) == 1: + file = files[0] + break + else: + for suffix in supported_suffix_2: + files = glob.glob(os.path.join(path, f"*.{suffix}")) + if len(files) > 1: + print(files) + if path + "/model_gptq_marlin.safetensors" in files: + file = path + "/model_gptq_marlin.safetensors" + else: + raise ValueError(f"Autogptq models not found in {path}") + break + elif len(files) == 1: + file = files[0] + break + else: + raise ValueError(f"No supported checkpoint file found in {path}, supported suffixes: {supported_suffix_1 + supported_suffix_2}") + + if file.endswith(".index.json"): + with open(file, "r") as f: + file_list = set(json.load(f)["weight_map"].values()) + file_list = [os.path.join(path, file) for file in file_list] + else: + file_list = [file] + + for file in file_list: + print(f"load from {file}") + if file.endswith(".bin") or file.endswith(".pt"): + ckpt = torch.load(file, map_location="cpu") + elif file.endswith(".safetensors"): + ckpt = load_file(file) + for name, param in ckpt.items(): + self._load(name, param, cls=cls) + + def load_from_hf(self): + with torch.no_grad(): + self._load_from_ckpt(self.path) + + # rope + if hasattr(self.config, "rope_scaling") and self.config.rope_scaling is not None: + rope_type = self.config.rope_scaling.get("rope_type", self.config.rope_scaling.get("type")) + if rope_type == "longrope" and not hasattr(self.config.rope_scaling, "factor"): + self.config.rope_scaling["factor"] = 1.0 + else: + rope_type = "default" + # TODO only support "default", "llama3" or "longrope" with long_factor=short_factor + inv_freq, attention_scaling = ROPE_INIT_FUNCTIONS[rope_type](self.config, "cpu", seq_len=self.max_total_length) + # attention_scaling = torch.tensor([attention_scaling], dtype=torch.float32, device="cpu") + self._load("model.rotary_emb.inv_freq", inv_freq, dtype=torch.float32) + # self._load("model.rotary_emb.attention_scaling", attention_scaling, dtype=torch.float32) + + def prefill(self, input_ids, position_ids): + assert input_ids.dtype == torch.int32 + # Check if input length exceeds maximum supported length + if input_ids.numel() > self.max_total_length: + raise ValueError(f"Input token count ({input_ids.numel()}) exceeds maximum supported length ({self.max_total_length}) under current memory limit") + + total_length = input_ids.numel() + num_chunks = (total_length + self.chunk_length - 1) // self.chunk_length + + prefill_start_time = None + actual_prefill_start = None + + # User interaction logic only when use_enter is True + if self._show_prefill_progress and self.use_enter: + # Clear screen and move cursor to top, then show prompt and wait for user input + print("\033[2J\033[H", end="", flush=True) # Clear screen and move to top + print("Please Press Enter to Start Prefilling...", end="", flush=True) + input() # Wait for Enter key + + # Replace the prompt with [Prefilling] - clear entire line first + print("\r" + " " * 50 + "\r[Prefilling]", flush=True) + # Start timing after user presses Enter + prefill_start_time = time.time() + actual_prefill_start = prefill_start_time + + # Initialize progress display for stream mode (always when _show_prefill_progress is True) + if self._show_prefill_progress: + if prefill_start_time is None: # Only set start time if not already set above + prefill_start_time = time.time() + if not self.use_enter: + print("Prefilling: 0.0% (0/{} tokens) @ 0.0 tokens/s".format(total_length), end="", flush=True) + else: + print("Prefilling: 0.0% (0/{} tokens) @ 0.0 tokens/s".format(total_length), end="", flush=True) + + # Record actual computation start time if not set yet + if actual_prefill_start is None: + actual_prefill_start = time.time() + + for chunk_idx, i in enumerate(range(0, input_ids.numel(), self.chunk_length)): + # torch.cuda.nvtx.range_push(f"chunk from {i}") + C.prefill( + min(input_ids.numel() - i, self.chunk_length), i, + input_ids.view(-1)[i:].data_ptr(), position_ids.view(-1)[i:].data_ptr(), + self.logits.data_ptr() + ) + # torch.cuda.nvtx.range_pop() + + # Show progress for stream mode - always when _show_prefill_progress is True + if self._show_prefill_progress and prefill_start_time is not None: + current_tokens = min(i + self.chunk_length, total_length) + elapsed_time = time.time() - prefill_start_time + progress = (current_tokens * 100.0) / total_length + tokens_per_sec = current_tokens / elapsed_time if elapsed_time > 0 else 0.0 + print(f"\rPrefilling: {progress:.1f}% ({current_tokens}/{total_length} tokens) @ {tokens_per_sec:.1f} tokens/s", end="", flush=True) + + # Calculate actual prefill time + actual_prefill_time = time.time() - actual_prefill_start + + # Final completion status for stream mode + if self._show_prefill_progress: + if prefill_start_time is not None: + final_elapsed_time = time.time() - prefill_start_time + final_tokens_per_sec = total_length / final_elapsed_time if final_elapsed_time > 0 else 0.0 + print(f"\rPrefilling: 100.0% ({total_length}/{total_length} tokens) @ {final_tokens_per_sec:.1f} tokens/s - Complete!") + if self.use_enter: + print("\n[Decoding]") # Show decoding status and move to next line only with use_enter + else: + print() # Just a newline for normal mode + + # Store the actual prefill time for use in generate method + self._last_prefill_time = actual_prefill_time + + return self.logits[:1].clone() + + def decode(self, input_ids, position_ids, cache_length, mask_2d = None): + assert input_ids.dtype == torch.int32 + assert position_ids.dtype == torch.int32 + assert cache_length.dtype == torch.int32 + if mask_2d is not None: + # assert mask_2d.dtype == torch.uint64 + assert input_ids.numel() == mask_2d.shape[0] + + # torch.cuda.nvtx.range_push(f"decode") + cache_length += input_ids.numel() # temparary add for convinience in flash_attn + padded_length = (cache_length[0].item() + 128 - 1) // 128 * 128 + C.decode( + input_ids.numel(), padded_length, + input_ids.data_ptr(), position_ids.data_ptr(), cache_length.data_ptr(), + mask_2d.data_ptr() if mask_2d is not None else 0, + self.logits.data_ptr(), + self.cuda_graph + ) + cache_length -= input_ids.numel() + # torch.cuda.nvtx.range_pop() + return self.logits[:input_ids.numel()].clone() + + def generate(self, input_ids, generation_length=100, teminators=[], use_stream=False): + """ + Generate text with optional streaming output. + Returns (tokens, decode_time, prefill_time) if use_stream=False, or generator yielding {'token', 'text', 'is_finished', 'prefill_time', 'decode_time'} if use_stream=True. + """ + assert input_ids.dtype == torch.int32 + + prefix_length = input_ids.numel() + position_ids = torch.arange(prefix_length, dtype=torch.int32, device="cuda") + + # Set progress flag before prefill for stream mode + if use_stream: + self._show_prefill_progress = True + + # Measure prefill time + if self.use_enter and use_stream: + # In use_enter mode, timing will be handled inside prefill method + logits = self.prefill(input_ids, position_ids) + prefill_time = getattr(self, '_last_prefill_time', 0.0) # Get actual prefill time + else: + torch.cuda.synchronize() + prefill_start = time.time() + logits = self.prefill(input_ids, position_ids) + torch.cuda.synchronize() + prefill_time = time.time() - prefill_start + + if self.temperature > 0: + token = torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)[0] + else: + token = logits[0].argmax(dim=-1).item() + + # Wait for user input before decode phase if use_decode_enter is enabled + if self.use_decode_enter: + if use_stream and self.use_enter: + # In stream mode with use_enter, we already showed [Decoding], just wait for input + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r", end="", flush=True) # Clear the prompt without showing [Decoding] again + else: + # In other modes, show prompt and wait + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r[Decoding]", flush=True) # Show [Decoding] only when use_enter is not enabled + + if not hasattr(self, "input_ids"): + self.input_ids = torch.tensor([0], dtype=torch.int32, device="cuda") + self.position_ids = torch.tensor([0], dtype=torch.int32, device="cuda") + self.cache_length = torch.tensor([0], dtype=torch.int32, device="cuda") + + if use_stream: + # Stream generation (optimized) + def _stream_generator(): + nonlocal token + # Keep minimal context for correct spacing + prev_token = token + + # yield first token + text = self.tokenizer.decode([token], skip_special_tokens=False) + + yield { + 'token': token, + 'text': text, + 'is_finished': token in teminators, + 'prefill_time': prefill_time, + 'decode_time': 0.0 # First token comes from prefill + } + + if token in teminators: + return + + decode_start_time = time.time() + + for i in range(generation_length-1): + self.input_ids[0] = token + self.position_ids[0] = prefix_length + i + self.cache_length[0] = prefix_length + i + + logits = self.decode(self.input_ids, self.position_ids, self.cache_length) + if self.temperature > 0: + token = torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)[0] + else: + token = logits[0].argmax(dim=-1).item() + + # For correct spacing, decode with previous token context + if prev_token is not None: + context_tokens = [prev_token, token] + context_text = self.tokenizer.decode(context_tokens, skip_special_tokens=False) + prev_text = self.tokenizer.decode([prev_token], skip_special_tokens=False) + text = context_text[len(prev_text):] + else: + text = self.tokenizer.decode([token], skip_special_tokens=False) + + is_finished = token in teminators or i == generation_length - 2 + + # Calculate time only when needed to reduce overhead + decode_time = time.time() - decode_start_time + + yield { + 'token': token, + 'text': text, + 'is_finished': is_finished, + 'prefill_time': 0.0, # Only report prefill_time for first token + 'decode_time': decode_time + } + + if token in teminators: + break + + # Update prev_token + prev_token = token + + return _stream_generator() + else: + # Original batch generation + tokens = [token] + torch.cuda.synchronize() + decode_start = time.time() + for i in range(generation_length-1): + self.input_ids[0] = token + self.position_ids[0] = prefix_length + i + self.cache_length[0] = prefix_length + i + + logits = self.decode(self.input_ids, self.position_ids, self.cache_length) + if self.temperature > 0: + token = torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)[0].item() + else: + token = logits[0].argmax(dim=-1).item() + tokens.append(token) + if token in teminators: + break + torch.cuda.synchronize() + decode_time = time.time() - decode_start + return tokens, decode_time, prefill_time + + def print_perf_summary(self): + C.print_perf_summary() \ No newline at end of file diff --git a/examples/CPM.cu/cpmcu/speculative/__init__.py b/examples/CPM.cu/cpmcu/speculative/__init__.py new file mode 100644 index 00000000..e1dcad20 --- /dev/null +++ b/examples/CPM.cu/cpmcu/speculative/__init__.py @@ -0,0 +1 @@ +from .eagle import LLM_with_eagle \ No newline at end of file diff --git a/examples/CPM.cu/cpmcu/speculative/eagle.py b/examples/CPM.cu/cpmcu/speculative/eagle.py new file mode 100644 index 00000000..83ef7f7e --- /dev/null +++ b/examples/CPM.cu/cpmcu/speculative/eagle.py @@ -0,0 +1,99 @@ +from .. import C +from .tree_drafter import LLM_with_tree_drafter +import math, torch +from transformers import PretrainedConfig + +class EagleConfig(PretrainedConfig): + def __init__( + self, + num_hidden_layers=1, + **kwargs, + ): + super().__init__(**kwargs) + self.eagle_num_layers = num_hidden_layers + +class LLM_with_eagle(LLM_with_tree_drafter): + def __init__(self, + eagle_path, + base_path, + num_iter=6, + topk_per_iter=10, + tree_size=60, + eagle_window_size=0, + frspec_vocab_size=0, + apply_eagle_quant: bool=False, + use_rope: bool=False, + use_input_norm: bool=False, + use_attn_norm: bool=False, + **kwargs): + super().__init__( + "eagle", eagle_path, base_path, + tree_size = tree_size, + **kwargs + ) + + self.eagle_path = eagle_path + self.eagle_config = EagleConfig.from_pretrained(eagle_path) + # Ensure presence consistency and equality for scale_depth, dim_model_base, and scale_emb + for attr in ("scale_depth", "dim_model_base", "scale_emb"): + base_has = hasattr(self.config, attr) + eagle_has = hasattr(self.eagle_config, attr) + assert base_has == eagle_has, f"{attr} presence mismatch between base and eagle config" + if base_has: + assert getattr(self.config, attr) == getattr(self.eagle_config, attr), f"{attr} in base config and eagle config should be the same" + scale_residual = self.config.scale_depth / math.sqrt(self.config.num_hidden_layers + 1) if hasattr(self.config, "scale_depth") else 1.0 + self.apply_eagle_quant = apply_eagle_quant + if apply_eagle_quant and hasattr(self.eagle_config, "quantization_config"): + self.group_size = self.eagle_config.quantization_config.get('group_size', 0) + else: + self.group_size = 0 + assert self.group_size == 128 or self.group_size == 0, "only group_size 128 is supported in quantization mode" + + if not use_rope and not use_input_norm and not use_attn_norm and not apply_eagle_quant: + C.init_eagle_model( + self.eagle_config.eagle_num_layers, + num_iter, + topk_per_iter, + self.tree_size, + self.dtype_int + ) + else: + C.init_minicpm4_eagle_model( + self.eagle_config.eagle_num_layers, + num_iter, + topk_per_iter, + self.tree_size, + self.dtype_int, + apply_eagle_quant, + self.group_size, + eagle_window_size, + frspec_vocab_size, + scale_residual, + use_input_norm, + use_attn_norm + ) + + def _load(self, name, param, dtype=None, cls=None): + if cls == self.drafter_type: + if name == "token_id_remap": + C.load_model(f"{cls}.{name}", param.data_ptr()) + return + if dtype is None: + dtype = self.dtype + param = param.contiguous() + if not self.apply_eagle_quant: + param = param.to(dtype) + if 'embed_tokens' in name: + return + if 'fc' in name: + if 'weight' in name: + param1 = param[..., :param.shape[-1] // 2].contiguous() + param2 = param[..., param.shape[-1] // 2:].contiguous() + C.load_model(f"{cls}.{name.replace('fc', 'fc1')}", param1.data_ptr()) + C.load_model(f"{cls}.{name.replace('fc', 'fc2')}", param2.data_ptr()) + else: # bias + C.load_model(f"{cls}.{name.replace('fc', 'fc1')}", param.data_ptr()) + else: + C.load_model(f"{cls}.{name}", param.data_ptr()) + else: + super()._load(name, param, dtype) diff --git a/examples/CPM.cu/cpmcu/speculative/eagle_base_quant/__init__.py b/examples/CPM.cu/cpmcu/speculative/eagle_base_quant/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/examples/CPM.cu/cpmcu/speculative/eagle_base_quant/eagle_base_w4a16_marlin_gptq.py b/examples/CPM.cu/cpmcu/speculative/eagle_base_quant/eagle_base_w4a16_marlin_gptq.py new file mode 100644 index 00000000..3df755b8 --- /dev/null +++ b/examples/CPM.cu/cpmcu/speculative/eagle_base_quant/eagle_base_w4a16_marlin_gptq.py @@ -0,0 +1,103 @@ +from ... import C +from ..eagle import EagleConfig +from ..tree_drafter_base_quant.tree_drafter_w4a16_gptq_marlin import W4A16GPTQMarlinLLM_with_tree_drafter + +import math, torch + + +class W4A16GPTQMarlinLLM_with_eagle(W4A16GPTQMarlinLLM_with_tree_drafter): + def __init__(self, + eagle_path, + base_path, + num_iter=6, + topk_per_iter=10, + tree_size=60, + eagle_window_size=0, + frspec_vocab_size=0, + apply_eagle_quant: bool=False, + use_rope: bool=False, + use_input_norm: bool=False, + use_attn_norm: bool=False, + use_rotation: bool=False, + **kwargs): + super().__init__( + "eagle", eagle_path, base_path, + tree_size = tree_size, + **kwargs + ) + + self.eagle_path = eagle_path + self.eagle_config = EagleConfig.from_pretrained(eagle_path) + # Ensure presence consistency and equality for scale_depth, dim_model_base, and scale_emb + for attr in ("scale_depth", "dim_model_base", "scale_emb"): + base_has = hasattr(self.config, attr) + eagle_has = hasattr(self.eagle_config, attr) + assert base_has == eagle_has, f"{attr} presence mismatch between base and eagle config" + if base_has: + assert getattr(self.config, attr) == getattr(self.eagle_config, attr), f"{attr} in base config and eagle config should be the same" + scale_residual = self.config.scale_depth / math.sqrt(self.config.num_hidden_layers + 1) if hasattr(self.config, "scale_depth") else 1.0 + self.use_rotation = use_rotation + self.apply_eagle_quant = apply_eagle_quant + if apply_eagle_quant and hasattr(self.eagle_config, "quantization_config"): + self.group_size = self.eagle_config.quantization_config.get('group_size', 0) + else: + self.group_size = 0 + assert self.group_size == 128 or self.group_size == 0, "only group_size 128 is supported in quantization mode" + + if not use_rope and not use_input_norm and not use_attn_norm and not apply_eagle_quant: + if not use_rotation: + C.init_eagle_model( + self.eagle_config.eagle_num_layers, + num_iter, + topk_per_iter, + self.tree_size, + self.dtype_int + ) + else: + C.init_eagle_w4a16_gptq_marlin_rot_model( + self.eagle_config.eagle_num_layers, + num_iter, + topk_per_iter, + self.tree_size, + self.dtype_int + ) + else: + C.init_minicpm4_eagle_model( + self.eagle_config.eagle_num_layers, + num_iter, + topk_per_iter, + self.tree_size, + self.dtype_int, + apply_eagle_quant, + self.group_size, + eagle_window_size, + frspec_vocab_size, + scale_residual, + use_input_norm, + use_attn_norm + ) + + def _load(self, name, param, dtype=None, cls=None): + if cls == self.drafter_type: + if name == "token_id_remap": + C.load_model(f"{cls}.{name}", param.data_ptr()) + return + if dtype is None: + dtype = self.dtype + param = param.contiguous() + if not self.apply_eagle_quant: + param = param.to(dtype) + if (not self.use_rotation) and 'embed_tokens' in name: + return + if 'fc' in name: + if 'weight' in name or "scales" in name: + param1 = param[..., :param.shape[-1] // 2].contiguous() + param2 = param[..., param.shape[-1] // 2:].contiguous() + C.load_model(f"{cls}.{name.replace('fc', 'fc1')}", param1.data_ptr()) + C.load_model(f"{cls}.{name.replace('fc', 'fc2')}", param2.data_ptr()) + else: # bias + C.load_model(f"{cls}.{name.replace('fc', 'fc1')}", param.data_ptr()) + else: + C.load_model(f"{cls}.{name}", param.data_ptr()) + else: + super()._load(name, param, dtype) diff --git a/examples/CPM.cu/cpmcu/speculative/hier_spec_quant/__init__.py b/examples/CPM.cu/cpmcu/speculative/hier_spec_quant/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/examples/CPM.cu/cpmcu/speculative/hier_spec_quant/hier_eagle_w4a16_gm_spec_w4a16_gm.py b/examples/CPM.cu/cpmcu/speculative/hier_spec_quant/hier_eagle_w4a16_gm_spec_w4a16_gm.py new file mode 100644 index 00000000..e4f9fc5c --- /dev/null +++ b/examples/CPM.cu/cpmcu/speculative/hier_spec_quant/hier_eagle_w4a16_gm_spec_w4a16_gm.py @@ -0,0 +1,268 @@ +from ... import C +from ...llm_w4a16_gptq_marlin import W4A16GPTQMarlinLLM + +import numpy as np +import torch +from ..tree_drafter import * +import time +from transformers import PretrainedConfig, AutoTokenizer, AutoConfig +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS + +def pack_draft_mask(mask_2d): + ''' + for static masks, pack them into a uint64 per row + ''' + mask_2d_packed = torch.zeros((mask_2d.shape[0]), dtype=torch.uint16, device="cuda") + for i in range(mask_2d.shape[0]): + mask_1 = 0 + for j in range(i + 1): + mask_1 |= (mask_2d[i][j].item() << j ) + mask_2d_packed[i] = mask_1 + mask_2d_packed = mask_2d_packed.view(torch.uint16).view(-1) + return mask_2d_packed + +class EagleConfig(PretrainedConfig): + def __init__( + self, + num_hidden_layers=1, + **kwargs, + ): + super().__init__(**kwargs) + self.eagle_num_layers = num_hidden_layers + +class HierEagleW4A16GMSpecW4A16GM(W4A16GPTQMarlinLLM): + def __init__(self, + drafter_path: str, + base_path: str, + min_draft_length: int, + draft_cuda_graph: bool, + tree_path: str, + ea_num_iter=6, + ea_topk_per_iter=10, + tree_size=60, + draft_model_start=False, + rotation=False, + **kwargs): + + super().__init__(base_path, **kwargs) + + # eagle config + self.tree_drafter_type = 'eagle' + self.eagle_path = tree_path + self.ea_num_iter = ea_num_iter + self.ea_topk_per_iter = ea_topk_per_iter + self.tree_size = tree_size + + self.tree_draft_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_position_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_gt_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_attn_mask = torch.empty((tree_size), dtype=torch.uint64, device="cuda") + self.tree_parent = torch.empty((tree_size), dtype=torch.int32, device="cuda") + + + self.eagle_config = EagleConfig.from_pretrained(self.eagle_path) + self.rotation = rotation + + + # draft config + self.drafter_type = 'draft' + self.drafter_path = drafter_path + self.drafter_tokenizer = AutoTokenizer.from_pretrained(drafter_path) + self.drafter_config = AutoConfig.from_pretrained(drafter_path) + + self.min_draft_length = min_draft_length + self.max_draft_length = min_draft_length + ea_num_iter + self.draft_ids = torch.empty((self.max_draft_length+1), dtype=torch.int32, device="cuda") + self.draft_position_ids = torch.empty((self.max_draft_length+1), dtype=torch.int32, device="cuda") + self.draft_gt_ids = torch.empty((self.max_draft_length+1), dtype=torch.int32, device="cuda") + self.draft_attn_mask = pack_draft_mask( + torch.tril(torch.ones(self.max_draft_length+1, self.max_draft_length+1, dtype=torch.bool)).to("cuda") + ) + + # eagle accept list + self.draft_ea_accept_list = torch.empty((1024,), dtype=torch.int32, device="cuda") + + self.draft_logits = torch.empty((64, self.config.vocab_size), dtype=self.dtype, device="cuda") + self.draft_cache_length = torch.tensor([0], dtype=torch.int32, device="cuda") + self.cache_length = torch.tensor([0], dtype=torch.int32, device="cuda") + self.draft_cuda_graph = draft_cuda_graph + + self.draft_model_start = draft_model_start + + self.draft_group_size = self.drafter_config.quantization_config['group_size'] + + if self.rotation: + C.init_hier_eagle_w4a16_gm_rot_spec_w4a16_gm_model( + self.drafter_config.vocab_size, + self.drafter_config.num_hidden_layers, + self.drafter_config.hidden_size, + self.drafter_config.intermediate_size, + self.drafter_config.num_attention_heads, + self.drafter_config.num_key_value_heads, + self.drafter_config.head_dim, + self.drafter_config.rms_norm_eps, + self.draft_group_size, + self.min_draft_length, + self.draft_cuda_graph, + self.eagle_config.eagle_num_layers, + self.ea_num_iter, + self.ea_topk_per_iter, + self.tree_size, + self.draft_model_start, + 0, + ) + else: + C.init_hier_eagle_w4a16_gm_spec_w4a16_gm_model( + self.drafter_config.vocab_size, + self.drafter_config.num_hidden_layers, + self.drafter_config.hidden_size, + self.drafter_config.intermediate_size, + self.drafter_config.num_attention_heads, + self.drafter_config.num_key_value_heads, + self.drafter_config.head_dim, + self.drafter_config.rms_norm_eps, + self.draft_group_size, + self.min_draft_length, + self.draft_cuda_graph, + self.eagle_config.eagle_num_layers, + self.ea_num_iter, + self.ea_topk_per_iter, + self.tree_size, + self.draft_model_start, + 0, + ) + + # def load_from_hf(self): + # self._load_from_ckpt(self.eagle_path, cls=self.tree_drafter_type) + # self._load_from_ckpt(self.drafter_path, cls=self.drafter_type) + # super().load_from_hf() + + def _load(self, name, param, dtype=None, cls=None): + if cls == self.tree_drafter_type: + if dtype is None: + dtype = self.dtype + param = param.contiguous().to(dtype) + if (not self.rotation) and 'embed_tokens' in name: + return + if 'fc' in name: + if 'weight' in name: + param1 = param[..., :param.shape[-1] // 2].contiguous() + param2 = param[..., param.shape[-1] // 2:].contiguous() + C.load_model(f"{cls}.{name.replace('fc', 'fc1')}", param1.data_ptr()) + C.load_model(f"{cls}.{name.replace('fc', 'fc2')}", param2.data_ptr()) + else: # bias + C.load_model(f"{cls}.{name.replace('fc', 'fc1')}", param.data_ptr()) + else: + C.load_model(f"{cls}.{name}", param.data_ptr()) + elif cls == self.drafter_type: + if dtype is None: + if 'rotary_emb' in name: + dtype = torch.float32 + else: + dtype = self.dtype + + # if 'gate_up_proj' in name: + # self._load(name.replace("gate_up_proj", "gate_proj"), param[:param.shape[0]//2], dtype, cls=cls) + # self._load(name.replace("gate_up_proj", "up_proj"), param[param.shape[0]//2:], cls=cls) + # elif 'qkv_proj' in name: + # self._load(name.replace("qkv_proj", "q_proj"), param[:self.config.num_attention_heads * self.config.head_dim], cls=cls) + # self._load(name.replace("qkv_proj", "k_proj"), param[self.config.num_attention_heads * self.config.head_dim:(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim], cls=cls) + # self._load(name.replace("qkv_proj", "v_proj"), param[(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim:], cls=cls) + # else: + param = param.contiguous() + if param.dtype not in [torch.int8, torch.int16, torch.int32]: + param = param.to(dtype) + C.load_model(f"{cls}.{name}", param.data_ptr()) + + if "embed_tokens" in name and hasattr(self.config, "tie_word_embeddings") and self.config.tie_word_embeddings: + self._load("lm_head.weight", param, cls) + else: + super()._load(name, param, dtype) + + def load_from_hf(self): + with torch.no_grad(): + # ealge load + self._load_from_ckpt(self.eagle_path, cls=self.tree_drafter_type) + + self._load_from_ckpt(self.drafter_path, cls=self.drafter_type) + # rope + if hasattr(self.drafter_config, "rope_scaling") and self.drafter_config.rope_scaling is not None: + draft_rope_type = self.drafter_config.rope_scaling.get("rope_type", self.drafter_config.rope_scaling.get("type")) + else: + draft_rope_type = "default" + # TODO only support "default", "llama3" or "longrope" with long_factor=short_factor + draft_inv_freq, draft_attention_scaling = ROPE_INIT_FUNCTIONS[draft_rope_type](self.drafter_config, "cpu", seq_len=self.max_total_length) + # attention_scaling = torch.tensor([attention_scaling], dtype=torch.float32, device="cpu") + self._load(f"{self.drafter_type}.model.rotary_emb.inv_freq", draft_inv_freq, dtype=torch.float32, cls=self.drafter_type) + # self._load("model.rotary_emb.attention_scaling", attention_scaling, dtype=torch.float32) + + super().load_from_hf() + + + def generate(self, input_ids, generation_length=100, teminators=[]): + assert input_ids.dtype == torch.int32 + + prefix_length = input_ids.shape[1] + + position_ids = torch.arange(prefix_length, dtype=torch.int32, device="cuda") + logits = self.prefill(input_ids, position_ids) + self.draft_ids[:1].copy_(logits[0].argmax(dim=-1)) + + tokens = torch.empty((generation_length), dtype=torch.int32, device="cuda") + tokens[0].copy_(self.draft_ids[0]) + accept_lengths = [] + i = 0 + model_step = 0 + terminal = False + torch.cuda.synchronize() + start_time = time.time() + + + while i < generation_length-1 and not terminal: + self.cache_length[0] = prefix_length + i + self.draft_position_ids[0] = prefix_length + i + + + # step 1: draft model prefill and eagle input prepare + C.draft( + self.draft_ids.data_ptr(), + self.draft_position_ids.data_ptr(), + self.cache_length.data_ptr(), + self.draft_attn_mask.data_ptr(), + self.draft_ea_accept_list.data_ptr(), + ) + + + # step 2: target model decode (length fixed for cuda graph) + logits = self.decode(self.draft_ids, self.draft_position_ids, self.cache_length, mask_2d=self.draft_attn_mask) + self.draft_gt_ids.copy_(logits.argmax(dim=-1)) + + # step 6: verify and fix target model and eagle input + accept_length = C.verify_and_fix( + self.draft_ids.numel(), + self.draft_ids.data_ptr(), + self.draft_gt_ids.data_ptr(), + self.draft_position_ids.data_ptr(), + self.cache_length.data_ptr(), + self.draft_attn_mask.data_ptr(), + self.draft_ea_accept_list.data_ptr(), + ) + + model_step += 1 + accept_lengths.append(accept_length) + for temin in teminators: + if temin in self.draft_gt_ids[:accept_length]: + terminal = True + append_length = min(accept_length, generation_length - 1 - i) + tokens[1+i:1+i+append_length].copy_(self.draft_gt_ids[:append_length]) + self.draft_ids[0] = self.draft_gt_ids[accept_length - 1] + i += accept_length + + + # print(f"ea accept avg:", np.mean(self.draft_ea_accept_list[1:ea_acc_nums+1].cpu().numpy())) + + torch.cuda.synchronize() + decode_time = time.time() - start_time + ea_acc_nums = self.draft_ea_accept_list[0].item() + tokens = tokens[:i+1].tolist() + return tokens, accept_lengths, model_step, decode_time, self.draft_ea_accept_list[1:1+ea_acc_nums].clone() \ No newline at end of file diff --git a/examples/CPM.cu/cpmcu/speculative/spec_quant/__init__.py b/examples/CPM.cu/cpmcu/speculative/spec_quant/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/examples/CPM.cu/cpmcu/speculative/spec_quant/spec_w4a16_gm_for_w4a16_gm_model.py b/examples/CPM.cu/cpmcu/speculative/spec_quant/spec_w4a16_gm_for_w4a16_gm_model.py new file mode 100644 index 00000000..15b22414 --- /dev/null +++ b/examples/CPM.cu/cpmcu/speculative/spec_quant/spec_w4a16_gm_for_w4a16_gm_model.py @@ -0,0 +1,160 @@ +from ... import C +from transformers import AutoTokenizer, AutoConfig +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS +from safetensors.torch import load_file + +from ...llm_w4a16_gptq_marlin import W4A16GPTQMarlinLLM + +import torch +import time + +def pack_draft_mask(mask_2d): + ''' + for static masks, pack them into a uint64 per row + ''' + mask_2d_packed = torch.zeros((mask_2d.shape[0]), dtype=torch.uint16, device="cuda") + for i in range(mask_2d.shape[0]): + mask_1 = 0 + for j in range(i + 1): + mask_1 |= (mask_2d[i][j].item() << j ) + mask_2d_packed[i] = mask_1 + mask_2d_packed = mask_2d_packed.view(torch.uint16).view(-1) + return mask_2d_packed + + +class W4A16GMSpecW4A16GM(W4A16GPTQMarlinLLM): + def __init__(self, + drafter_path: str, + base_path: str, + draft_num: int, + draft_cuda_graph: bool, + **kwargs): + super().__init__(base_path, **kwargs) + + self.drafter_type = 'draft' + self.drafter_path = drafter_path + self.drafter_tokenizer = AutoTokenizer.from_pretrained(drafter_path) + self.drafter_config = AutoConfig.from_pretrained(drafter_path) + + self.draft_num = draft_num + self.draft_ids = torch.empty((self.draft_num+1), dtype=torch.int32, device="cuda") + self.draft_position_ids = torch.empty((self.draft_num+1), dtype=torch.int32, device="cuda") + self.draft_gt_ids = torch.empty((self.draft_num+1), dtype=torch.int32, device="cuda") + self.draft_attn_mask = pack_draft_mask( + torch.tril(torch.ones(draft_num+1, draft_num+1, dtype=torch.bool)).to("cuda") + ) + self.draft_parent = torch.tensor([], dtype=torch.int32, device="cuda") + self.cache_length = torch.tensor([0], dtype=torch.int32, device="cuda") + + self.draft_cuda_graph = draft_cuda_graph + + self.draft_group_size = self.drafter_config.quantization_config['group_size'] + + C.init_w4a16_gm_spec_w4a16_gm_model( + self.drafter_config.vocab_size, + self.drafter_config.num_hidden_layers, + self.drafter_config.hidden_size, + self.drafter_config.intermediate_size, + self.drafter_config.num_attention_heads, + self.drafter_config.num_key_value_heads, + self.drafter_config.head_dim, + self.drafter_config.rms_norm_eps, + self.draft_group_size, + self.draft_num, + self.draft_cuda_graph, + self.dtype_int, + ) + + def _load(self, name, param, dtype=None, cls=None): + if cls == self.drafter_type: + if dtype is None: + if 'rotary_emb' in name: + dtype = torch.float32 + else: + dtype = self.dtype + + # if 'gate_up_proj' in name: + # self._load(name.replace("gate_up_proj", "gate_proj"), param[:param.shape[0]//2], dtype, cls=cls) + # self._load(name.replace("gate_up_proj", "up_proj"), param[param.shape[0]//2:], cls=cls) + # elif 'qkv_proj' in name: + # self._load(name.replace("qkv_proj", "q_proj"), param[:self.config.num_attention_heads * self.config.head_dim], cls=cls) + # self._load(name.replace("qkv_proj", "k_proj"), param[self.config.num_attention_heads * self.config.head_dim:(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim], cls=cls) + # self._load(name.replace("qkv_proj", "v_proj"), param[(self.config.num_attention_heads + self.config.num_key_value_heads) * self.config.head_dim:], cls=cls) + # else: + param = param.contiguous() + if param.dtype not in [torch.int8, torch.int16, torch.int32]: + param = param.to(dtype) + C.load_model(f"{cls}.{name}", param.data_ptr()) + + if "embed_tokens" in name and hasattr(self.config, "tie_word_embeddings") and self.config.tie_word_embeddings: + self._load("lm_head.weight", param, cls) + else: + super()._load(name, param, dtype) + + + def load_from_hf(self): + with torch.no_grad(): + self._load_from_ckpt(self.drafter_path, cls=self.drafter_type) + # rope + if hasattr(self.drafter_config, "rope_scaling") and self.drafter_config.rope_scaling is not None: + draft_rope_type = self.drafter_config.rope_scaling.get("rope_type", self.drafter_config.rope_scaling.get("type")) + else: + draft_rope_type = "default" + # TODO only support "default", "llama3" or "longrope" with long_factor=short_factor + draft_inv_freq, draft_attention_scaling = ROPE_INIT_FUNCTIONS[draft_rope_type](self.drafter_config, "cpu", seq_len=self.max_total_length) + # attention_scaling = torch.tensor([attention_scaling], dtype=torch.float32, device="cpu") + self._load(f"{self.drafter_type}.model.rotary_emb.inv_freq", draft_inv_freq, dtype=torch.float32, cls=self.drafter_type) + # self._load("model.rotary_emb.attention_scaling", attention_scaling, dtype=torch.float32) + super().load_from_hf() + + + def generate(self, input_ids, generation_length=100, teminators=[]): + assert input_ids.dtype == torch.int32 + + prefix_length = input_ids.numel() + position_ids = torch.arange(prefix_length, dtype=torch.int32, device="cuda") + logits = self.prefill(input_ids, position_ids) + self.draft_ids[:1].copy_(logits[0].argmax(dim=-1)) + + tokens = torch.empty((generation_length), dtype=torch.int32, device="cuda") + tokens[0].copy_(self.draft_ids[0]) + accept_lengths = [] + i = 0 + model_step = 0 + terminal = False + torch.cuda.synchronize() + start_time = time.time() + while i < generation_length-1 and not terminal: + self.cache_length[0] = prefix_length + i + self.draft_position_ids[0] = prefix_length + i + + # torch.cuda.nvtx.range_push(f"draft") + C.draft(self.draft_ids.data_ptr(), self.draft_position_ids.data_ptr(), self.cache_length.data_ptr(), self.draft_attn_mask.data_ptr(), self.draft_parent.data_ptr()) + # torch.cuda.nvtx.range_pop() + + + logits = self.decode(self.draft_ids, self.draft_position_ids, self.cache_length, mask_2d=self.draft_attn_mask) + self.draft_gt_ids.copy_(logits.argmax(dim=-1)) + + # torch.cuda.nvtx.range_push(f"verify") + accept_length = C.verify_and_fix( + self.draft_ids.numel(), self.draft_ids.data_ptr(), self.draft_gt_ids.data_ptr(), + self.draft_position_ids.data_ptr(), self.cache_length.data_ptr(), + self.draft_attn_mask.data_ptr(), self.draft_parent.data_ptr() + ) + # torch.cuda.nvtx.range_pop() + + model_step += 1 + accept_lengths.append(accept_length) + for temin in teminators: + if temin in self.draft_gt_ids[:accept_length]: + terminal = True + append_length = min(accept_length, generation_length - 1 - i) + tokens[1+i:1+i+append_length].copy_(self.draft_gt_ids[:append_length]) + self.draft_ids[0] = self.draft_gt_ids[accept_length - 1] + i += accept_length + torch.cuda.synchronize() + decode_time = time.time() - start_time + tokens = tokens[:1+i].tolist() + + return tokens, accept_lengths, model_step, decode_time \ No newline at end of file diff --git a/examples/CPM.cu/cpmcu/speculative/tree_drafter.py b/examples/CPM.cu/cpmcu/speculative/tree_drafter.py new file mode 100644 index 00000000..428c9023 --- /dev/null +++ b/examples/CPM.cu/cpmcu/speculative/tree_drafter.py @@ -0,0 +1,255 @@ +from .. import C +from ..llm import LLM + +import torch +import torch.nn.functional as F +import time +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS + +def pack_mask(mask_2d): + ''' + for static masks, pack them into a uint64 per row + ''' + mask_2d_packed = torch.zeros((mask_2d.shape[0], 2), dtype=torch.uint32, device="cuda") + for i in range(mask_2d.shape[0]): + mask_1 = 0 + mask_2 = 0 + for j in range(i + 1): + if j < 32: + mask_1 |= (mask_2d[i][j].item() << j) + else: + mask_2 |= (mask_2d[i][j].item() << (j - 32)) + mask_2d_packed[i][0] = mask_1 + mask_2d_packed[i][1] = mask_2 + mask_2d_packed = mask_2d_packed.view(torch.uint64).view(-1) + return mask_2d_packed + +class LLM_with_tree_drafter(LLM): + def __init__(self, + drafter_type, drafter_path, base_path, + tree_size, + use_rope: bool=False, + **kwargs): + super().__init__(base_path, **kwargs) + + self.drafter_type = drafter_type + self.drafter_path = drafter_path + self.base_path = base_path + self.use_rope = use_rope + + self.tree_size = tree_size + self.tree_draft_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_position_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_gt_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_attn_mask = torch.empty((tree_size), dtype=torch.uint64, device="cuda") + self.tree_parent = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_position_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + + self.cache_length = torch.tensor([0], dtype=torch.int32, device="cuda") + + def load_from_hf(self): + with torch.no_grad(): + self._load_from_ckpt(self.drafter_path, cls=self.drafter_type) + + if self.use_rope: + if hasattr(self.config, "rope_scaling") and self.config.rope_scaling is not None: + rope_type = self.config.rope_scaling.get("rope_type", self.config.rope_scaling.get("type")) + else: + rope_type = "default" + # TODO only support "default", "llama3" or "longrope" with long_factor=short_factor + inv_freq, attention_scaling = ROPE_INIT_FUNCTIONS[rope_type](self.config, "cpu", seq_len=self.max_total_length) + # attention_scaling = torch.tensor([attention_scaling], dtype=torch.float32, device="cpu") + self._load(f"{self.drafter_type}.rotary_emb.inv_freq", inv_freq, dtype=torch.float32) + # self._load("model.rotary_emb.attention_scaling", attention_scaling, dtype=torch.float32) + + super().load_from_hf() + + def generate(self, input_ids, generation_length=100, teminators=[], use_stream=False): + """ + Generate text with optional streaming output for tree drafter. + Returns (tokens, accept_lengths, decode_time, prefill_time) if use_stream=False, or generator yielding {'token', 'text', 'is_finished', 'accept_length', 'prefill_time', 'decode_time'} if use_stream=True. + """ + assert input_ids.dtype == torch.int32 + + prefix_length = input_ids.numel() + # Check if input length exceeds maximum supported length + if prefix_length > self.max_total_length: + raise ValueError(f"Input token count ({prefix_length}) exceeds maximum supported length ({self.max_total_length}) under current memory limit") + + position_ids = torch.arange(prefix_length, dtype=torch.int32, device="cuda") + + # Set progress flag before prefill for stream mode + if use_stream: + self._show_prefill_progress = True + else: + self._show_prefill_progress = False + + # Measure prefill time + if self.use_enter and use_stream: + # In use_enter mode, timing will be handled inside prefill method + logits = self.prefill(input_ids, position_ids) + prefill_time = getattr(self, '_last_prefill_time', 0.0) # Get actual prefill time + else: + torch.cuda.synchronize() + prefill_start = time.time() + logits = self.prefill(input_ids, position_ids) + torch.cuda.synchronize() + prefill_time = time.time() - prefill_start + + if self.temperature > 0.0: + self.tree_draft_ids[:1].copy_(torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)) + else: + self.tree_draft_ids[:1].copy_(logits[0].argmax(dim=-1)) + + # Wait for user input before decode phase if use_decode_enter is enabled + if self.use_decode_enter: + if use_stream and self.use_enter: + # In stream mode with use_enter, we already showed [Decoding], just wait for input + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r", end="", flush=True) # Clear the prompt without showing [Decoding] again + else: + # In other modes, show prompt and wait + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r[Decoding]", flush=True) # Show [Decoding] only when use_enter is not enabled + + if use_stream: + # Stream generation for tree drafter (optimized) + def _stream_generator(): + # Keep minimal context for correct spacing + prev_token = None + + # yield first token + token = self.tree_draft_ids[0].item() + text = self.tokenizer.decode([token], skip_special_tokens=False) + prev_token = token + + yield { + 'token': token, + 'text': text, + 'is_finished': token in teminators, + 'accept_length': 1, + 'prefill_time': prefill_time, + 'decode_time': 0.0 # First token comes from prefill + } + + if token in teminators: + return + + decode_start_time = time.time() + + i = 0 + while i < generation_length-1: + self.cache_length[0] = prefix_length + i + + # draft step + C.draft(self.tree_draft_ids.data_ptr(), self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr()) + + logits = self.decode(self.tree_draft_ids, self.tree_position_ids, self.cache_length, mask_2d=self.tree_attn_mask) + if self.temperature > 0.0: + self.tree_gt_ids.copy_(torch.multinomial(F.softmax(logits/self.temperature, dim=-1), num_samples=1, generator=self.generator).squeeze(-1)) + else: + self.tree_gt_ids.copy_(logits.argmax(dim=-1)) + + # verify step + accept_length = C.verify_and_fix( + self.tree_draft_ids.numel(), self.tree_draft_ids.data_ptr(), self.tree_gt_ids.data_ptr(), + self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), + self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr() + ) + + # yield accepted tokens (optimized with minimal context) + if accept_length > 0: + accepted_tokens = self.tree_draft_ids[:accept_length].tolist() + + # For correct spacing, decode with previous token context + if prev_token is not None: + context_tokens = [prev_token] + accepted_tokens + context_text = self.tokenizer.decode(context_tokens, skip_special_tokens=False) + prev_text = self.tokenizer.decode([prev_token], skip_special_tokens=False) + new_text = context_text[len(prev_text):] + else: + new_text = self.tokenizer.decode(accepted_tokens, skip_special_tokens=False) + + # Yield tokens with batch text for first token, empty for others + for j in range(accept_length): + if i + j >= generation_length - 1: + break + + token = accepted_tokens[j] + + # Give all new text to first token, empty to others + if j == 0: + text = new_text + else: + text = "" + + terminal = token in teminators + is_finished = terminal or (i + j == generation_length - 2) + + # Only calculate time for the last token in the batch to reduce overhead + decode_time = time.time() - decode_start_time if j == accept_length - 1 else 0.0 + + yield { + 'token': token, + 'text': text, + 'is_finished': is_finished, + 'accept_length': accept_length if j == 0 else 0, # only report accept_length for first token in batch + 'prefill_time': 0.0, # Only report prefill_time for first token + 'decode_time': decode_time + } + + if terminal: + return + + # Update prev_token to the last accepted token + prev_token = accepted_tokens[-1] + + self.tree_draft_ids[0] = self.tree_draft_ids[accept_length - 1] + i += accept_length + + return _stream_generator() + else: + # Original batch generation + tokens = torch.empty((generation_length), dtype=torch.int32, device="cuda") + tokens[0].copy_(self.tree_draft_ids[0]) + accept_lengths = [] + i = 0 + terminal = False + torch.cuda.synchronize() + decode_start = time.time() + while i < generation_length-1 and not terminal: + self.cache_length[0] = prefix_length + i + + # torch.cuda.nvtx.range_push(f"draft") + C.draft(self.tree_draft_ids.data_ptr(), self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr()) + # torch.cuda.nvtx.range_pop() + + logits = self.decode(self.tree_draft_ids, self.tree_position_ids, self.cache_length, mask_2d=self.tree_attn_mask) + if self.temperature > 0.0: + self.tree_gt_ids.copy_(torch.multinomial(F.softmax(logits/self.temperature, dim=-1), num_samples=1, generator=self.generator).squeeze(-1)) + else: + self.tree_gt_ids.copy_(logits.argmax(dim=-1)) + + # torch.cuda.nvtx.range_push(f"verify") + accept_length = C.verify_and_fix( + self.tree_draft_ids.numel(), self.tree_draft_ids.data_ptr(), self.tree_gt_ids.data_ptr(), + self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), + self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr() + ) + # torch.cuda.nvtx.range_pop() + + accept_lengths.append(accept_length) + for temin in teminators: + if temin in self.tree_draft_ids[:accept_length]: + terminal = True + append_length = min(accept_length, generation_length - 1 - i) + tokens[1+i:1+i+append_length].copy_(self.tree_draft_ids[:append_length]) + self.tree_draft_ids[0] = self.tree_draft_ids[accept_length - 1] + i += accept_length + torch.cuda.synchronize() + decode_time = time.time() - decode_start + tokens = tokens[:1+i].tolist() + + return tokens, accept_lengths, decode_time, prefill_time \ No newline at end of file diff --git a/examples/CPM.cu/cpmcu/speculative/tree_drafter_base_quant/__init__.py b/examples/CPM.cu/cpmcu/speculative/tree_drafter_base_quant/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/examples/CPM.cu/cpmcu/speculative/tree_drafter_base_quant/tree_drafter_w4a16_gptq_marlin.py b/examples/CPM.cu/cpmcu/speculative/tree_drafter_base_quant/tree_drafter_w4a16_gptq_marlin.py new file mode 100644 index 00000000..63ccf306 --- /dev/null +++ b/examples/CPM.cu/cpmcu/speculative/tree_drafter_base_quant/tree_drafter_w4a16_gptq_marlin.py @@ -0,0 +1,240 @@ +from ... import C +from ...llm_w4a16_gptq_marlin import W4A16GPTQMarlinLLM + +import torch +from ..tree_drafter import * +import time +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS +import torch.nn.functional as F + +class W4A16GPTQMarlinLLM_with_tree_drafter(W4A16GPTQMarlinLLM): + def __init__(self, + drafter_type, drafter_path, base_path, + tree_size, + use_rope: bool=False, + temperature: float=0.0, + **kwargs): + super().__init__(base_path, **kwargs) + + self.drafter_type = drafter_type + self.drafter_path = drafter_path + self.base_path = base_path + self.use_rope = use_rope + + self.tree_size = tree_size + self.tree_draft_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_position_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_gt_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_attn_mask = torch.empty((tree_size), dtype=torch.uint64, device="cuda") + self.tree_parent = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.tree_position_ids = torch.empty((tree_size), dtype=torch.int32, device="cuda") + self.temperature = temperature + + self.cache_length = torch.tensor([0], dtype=torch.int32, device="cuda") + + def load_from_hf(self): + with torch.no_grad(): + self._load_from_ckpt(self.drafter_path, cls=self.drafter_type) + + if self.use_rope: + if hasattr(self.config, "rope_scaling") and self.config.rope_scaling is not None: + rope_type = self.config.rope_scaling.get("rope_type", self.config.rope_scaling.get("type")) + else: + rope_type = "default" + # TODO only support "default", "llama3" or "longrope" with long_factor=short_factor + inv_freq, attention_scaling = ROPE_INIT_FUNCTIONS[rope_type](self.config, "cpu", seq_len=self.max_total_length) + # attention_scaling = torch.tensor([attention_scaling], dtype=torch.float32, device="cpu") + self._load(f"{self.drafter_type}.rotary_emb.inv_freq", inv_freq, dtype=torch.float32) + # self._load("model.rotary_emb.attention_scaling", attention_scaling, dtype=torch.float32) + + super().load_from_hf() + + def generate(self, input_ids, generation_length=100, teminators=[], use_stream=False): + """ + Generate text with optional streaming output for quantized tree drafter. + Returns (tokens, accept_lengths, decode_time, prefill_time) if use_stream=False, or generator yielding {'token', 'text', 'is_finished', 'accept_length', 'prefill_time', 'decode_time'} if use_stream=True. + """ + assert input_ids.dtype == torch.int32 + + prefix_length = input_ids.numel() + # Check if input length exceeds maximum supported length + if prefix_length > self.max_total_length: + raise ValueError(f"Input token count ({prefix_length}) exceeds maximum supported length ({self.max_total_length}) under current memory limit") + + position_ids = torch.arange(prefix_length, dtype=torch.int32, device="cuda") + + # Set progress flag before prefill for stream mode + if use_stream: + self._show_prefill_progress = True + else: + self._show_prefill_progress = False + + # Measure prefill time + if self.use_enter and use_stream: + # In use_enter mode, timing will be handled inside prefill method + logits = self.prefill(input_ids, position_ids) + prefill_time = getattr(self, '_last_prefill_time', 0.0) # Get actual prefill time + else: + torch.cuda.synchronize() + prefill_start = time.time() + logits = self.prefill(input_ids, position_ids) + torch.cuda.synchronize() + prefill_time = time.time() - prefill_start + + if self.temperature > 0.0: + self.tree_draft_ids[:1].copy_(torch.multinomial(F.softmax(logits[0]/self.temperature, dim=-1), num_samples=1, generator=self.generator)) + else: + self.tree_draft_ids[:1].copy_(logits[0].argmax(dim=-1)) + + # Wait for user input before decode phase if use_decode_enter is enabled + if self.use_decode_enter: + if use_stream and self.use_enter: + # In stream mode with use_enter, we already showed [Decoding], just wait for input + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r", end="", flush=True) # Clear the prompt without showing [Decoding] again + else: + # In other modes, show prompt and wait + print("Please Press Enter to Start Decoding...", end="", flush=True) + input() # Wait for Enter key + print("\r" + " " * 50 + "\r[Decoding]", flush=True) # Show [Decoding] only when use_enter is not enabled + + if use_stream: + # Stream generation for quantized tree drafter (optimized) + def _stream_generator(): + # Keep minimal context for correct spacing + prev_token = None + + # yield first token + token = self.tree_draft_ids[0].item() + text = self.tokenizer.decode([token], skip_special_tokens=False) + prev_token = token + + yield { + 'token': token, + 'text': text, + 'is_finished': token in teminators, + 'accept_length': 1, + 'prefill_time': prefill_time, + 'decode_time': 0.0 # First token comes from prefill + } + + if token in teminators: + return + + decode_start_time = time.time() + + i = 0 + while i < generation_length-1: + self.cache_length[0] = prefix_length + i + + # draft step + C.draft(self.tree_draft_ids.data_ptr(), self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr()) + + logits = self.decode(self.tree_draft_ids, self.tree_position_ids, self.cache_length, mask_2d=self.tree_attn_mask) + if self.temperature > 0.0: + self.tree_gt_ids.copy_(torch.multinomial(F.softmax(logits/self.temperature, dim=-1), num_samples=1, generator=self.generator).squeeze(-1)) + else: + self.tree_gt_ids.copy_(logits.argmax(dim=-1)) + + # verify step + accept_length = C.verify_and_fix( + self.tree_draft_ids.numel(), self.tree_draft_ids.data_ptr(), self.tree_gt_ids.data_ptr(), + self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), + self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr() + ) + + # yield accepted tokens (optimized with minimal context) + if accept_length > 0: + accepted_tokens = self.tree_draft_ids[:accept_length].tolist() + + # For correct spacing, decode with previous token context + if prev_token is not None: + context_tokens = [prev_token] + accepted_tokens + context_text = self.tokenizer.decode(context_tokens, skip_special_tokens=False) + prev_text = self.tokenizer.decode([prev_token], skip_special_tokens=False) + new_text = context_text[len(prev_text):] + else: + new_text = self.tokenizer.decode(accepted_tokens, skip_special_tokens=False) + + # Yield tokens with batch text for first token, empty for others + for j in range(accept_length): + if i + j >= generation_length - 1: + break + + token = accepted_tokens[j] + + # Give all new text to first token, empty to others + if j == 0: + text = new_text + else: + text = "" + + terminal = token in teminators + is_finished = terminal or (i + j == generation_length - 2) + + # Only calculate time for the last token in the batch to reduce overhead + decode_time = time.time() - decode_start_time if j == accept_length - 1 else 0.0 + + yield { + 'token': token, + 'text': text, + 'is_finished': is_finished, + 'accept_length': accept_length if j == 0 else 0, # only report accept_length for first token in batch + 'prefill_time': 0.0, # Only report prefill_time for first token + 'decode_time': decode_time + } + + if terminal: + return + + # Update prev_token to the last accepted token + prev_token = accepted_tokens[-1] + + self.tree_draft_ids[0] = self.tree_draft_ids[accept_length - 1] + i += accept_length + + return _stream_generator() + else: + # Original batch generation + tokens = torch.empty((generation_length), dtype=torch.int32, device="cuda") + tokens[0].copy_(self.tree_draft_ids[0]) + accept_lengths = [] + i = 0 + terminal = False + torch.cuda.synchronize() + decode_start = time.time() + while i < generation_length-1 and not terminal: + self.cache_length[0] = prefix_length + i + + # torch.cuda.nvtx.range_push(f"draft") + C.draft(self.tree_draft_ids.data_ptr(), self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr()) + # torch.cuda.nvtx.range_pop() + + logits = self.decode(self.tree_draft_ids, self.tree_position_ids, self.cache_length, mask_2d=self.tree_attn_mask) + if self.temperature > 0.0: + self.tree_gt_ids.copy_(torch.multinomial(F.softmax(logits/self.temperature, dim=-1), num_samples=1, generator=self.generator).squeeze(-1)) + else: + self.tree_gt_ids.copy_(logits.argmax(dim=-1)) + + # torch.cuda.nvtx.range_push(f"verify") + accept_length = C.verify_and_fix( + self.tree_draft_ids.numel(), self.tree_draft_ids.data_ptr(), self.tree_gt_ids.data_ptr(), + self.tree_position_ids.data_ptr(), self.cache_length.data_ptr(), + self.tree_attn_mask.data_ptr(), self.tree_parent.data_ptr() + ) + # torch.cuda.nvtx.range_pop() + + accept_lengths.append(accept_length) + for temin in teminators: + if temin in self.tree_draft_ids[:accept_length]: + terminal = True + append_length = min(accept_length, generation_length - 1 - i) + tokens[1+i:1+i+append_length].copy_(self.tree_draft_ids[:append_length]) + self.tree_draft_ids[0] = self.tree_draft_ids[accept_length - 1] + i += accept_length + torch.cuda.synchronize() + decode_time = time.time() - decode_start + tokens = tokens[:1+i].tolist() + + return tokens, accept_lengths, decode_time, prefill_time \ No newline at end of file diff --git a/examples/CPM.cu/model_convert/convert_llama_format.py b/examples/CPM.cu/model_convert/convert_llama_format.py new file mode 100644 index 00000000..ececfcb2 --- /dev/null +++ b/examples/CPM.cu/model_convert/convert_llama_format.py @@ -0,0 +1,44 @@ +from transformers import AutoModelForCausalLM, AutoTokenizer +import torch +import math + +torch.manual_seed(0) + +def llm_load(path): + tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True) + model = AutoModelForCausalLM.from_pretrained(path, torch_dtype=torch.bfloat16, device_map='auto', trust_remote_code=True) + + return model, tokenizer + +def convert_llm(): + # model.embed_tokens.weight * scale_emb + state_dict["model.embed_tokens.weight"] = state_dict["model.embed_tokens.weight"] * scale_emb + + # lm_head.weight / (hidden_size / dim_model_base) + state_dict["lm_head.weight"] = state_dict["lm_head.weight"] / (hidden_size / dim_model_base) + + for i in range(num_layers): + attn_out_name = f"model.layers.{i}.self_attn.o_proj.weight" + state_dict[attn_out_name] = state_dict[attn_out_name] * (scale_depth / math.sqrt(num_layers)) + + ffn_down_proj_name = f"model.layers.{i}.mlp.down_proj.weight" + state_dict[ffn_down_proj_name] = state_dict[ffn_down_proj_name] * (scale_depth / math.sqrt(num_layers)) + + torch.save(state_dict, "./pytorch_model.bin") + +if __name__ == "__main__": + model, tokenizer = llm_load("/DATA/disk0/zhaoweilun/minicpm4/models/stable_7T_decay_700B_decay2_300B_longdecay_1sw1fa_sft_50B_release") + + scale_emb = model.config.scale_emb + dim_model_base = model.config.dim_model_base + scale_depth = model.config.scale_depth + num_layers = model.config.num_hidden_layers + hidden_size = model.config.hidden_size + print(f"scale_emb = {scale_emb}") + print(f"dim_model_base = {dim_model_base}") + print(f"scale_depth = {scale_depth}") + print(f"num_layers = {num_layers}") + print(f"hidden_size = {hidden_size}") + + state_dict = model.state_dict() + convert_llm() \ No newline at end of file diff --git a/examples/CPM.cu/model_convert/convert_w4a16.py b/examples/CPM.cu/model_convert/convert_w4a16.py new file mode 100644 index 00000000..d2ed26c0 --- /dev/null +++ b/examples/CPM.cu/model_convert/convert_w4a16.py @@ -0,0 +1,287 @@ +import torch +from safetensors.torch import load_file, save_file +import os, glob, shutil +import re +from typing import List +import argparse +import numpy as np +from transformers import AutoConfig + +parser = argparse.ArgumentParser() + +parser.add_argument("--model-path", type=str, required=True, help="Path to the original model") +parser.add_argument("--quant-path", type=str, required=True, help="Path to the AutoGPTQ model") +parser.add_argument("--output-path", type=str, required=True, help="Path to save the converted model") + +# Copied from https://github.com/AutoGPTQ/AutoGPTQ/blob/9f7d37072917ab3a7545835f23e808294a542153/auto_gptq/nn_modules/qlinear/qlinear_marlin.py +def get_perms(): + perm = [] + for i in range(32): + perm1 = [] + col = i // 4 + for block in [0, 1]: + for row in [ + 2 * (i % 4), + 2 * (i % 4) + 1, + 2 * (i % 4 + 4), + 2 * (i % 4 + 4) + 1, + ]: + perm1.append(16 * row + col + 8 * block) + for j in range(4): + perm.extend([p + 256 * j for p in perm1]) + + perm = np.array(perm) + interleave = np.array([0, 2, 4, 6, 1, 3, 5, 7]) + perm = perm.reshape((-1, 8))[:, interleave].ravel() + perm = torch.from_numpy(perm) + scale_perm = [] + for i in range(8): + scale_perm.extend([i + 8 * j for j in range(8)]) + scale_perm_single = [] + for i in range(4): + scale_perm_single.extend([2 * i + j for j in [0, 1, 8, 9, 16, 17, 24, 25]]) + return perm, scale_perm, scale_perm_single + +PERM, SCALE_PERM, SCALE_PERM_SINGLE = get_perms() + +def marlin_permute_scales(s: torch.Tensor, size_k: int, size_n: int, group_size: int) -> torch.Tensor: + + if group_size < size_k and group_size != -1: + s = s.reshape((-1, len(SCALE_PERM)))[:, SCALE_PERM] + else: + s = s.reshape((-1, len(SCALE_PERM_SINGLE)))[:, SCALE_PERM_SINGLE] + s = s.reshape((-1, size_n)).contiguous() + + return s + +def marlin_repack_qweight(qweight: torch.Tensor, bits: int, size_k: int, size_n: int, tile: int = 16) -> torch.Tensor: + + # unpack + compress_factor = 32 // bits + mask = (1 << bits) - 1 + qweight = qweight.cpu().numpy().astype(np.uint32) + unpacked_qweight = np.zeros((size_k, size_n), dtype=np.uint32) + unpacked_offset = np.arange(size_k) // compress_factor + unpacked_shift = (np.arange(size_k) % compress_factor) * bits + unpacked_qweight = (qweight[unpacked_offset, :] >> unpacked_shift[:, None]) & mask + + # permute + unpacked_qweight = torch.from_numpy(unpacked_qweight.astype(np.int32)) + unpacked_qweight = unpacked_qweight.reshape((size_k // tile, tile, size_n // tile, tile)) + unpacked_qweight = unpacked_qweight.permute(0, 2, 1, 3) + unpacked_qweight = unpacked_qweight.reshape((size_k // tile, size_n * tile)).contiguous() + unpacked_qweight = unpacked_qweight.reshape((-1, PERM.numel()))[:, PERM].reshape(unpacked_qweight.shape) + + # repack + repacked_qweight = np.zeros((unpacked_qweight.shape[0], unpacked_qweight.shape[1] // compress_factor), dtype=np.uint32) + unpacked_qweight = unpacked_qweight.cpu().numpy().astype(np.uint32) + for i in range(compress_factor): + repacked_qweight |= unpacked_qweight[:, i::compress_factor] << (bits * i) + repacked_qweight = torch.from_numpy(repacked_qweight.astype(np.int32)) + + return repacked_qweight + +def convert_w4a16_checkpoint(orig_model_path, quant_path, output_path): + + config = AutoConfig.from_pretrained(quant_path) + + group_size = config.quantization_config['group_size'] + assert group_size in [-1, 128], "Only group_size -1 and 128 are supported for marlin" + + bits = config.quantization_config['bits'] + assert bits == 4, "Only 4-bit quantization is supported for marlin" + + model_path = glob.glob(os.path.join(quant_path, "*.safetensors"))[0] + + autogptq_weigths = load_file(model_path) + + gptq_convert_dict = { + "model.layers.{}.self_attn.q_proj.qweight": ["model.layers.{}.self_attn.q_proj.scales", "model.layers.{}.self_attn.q_proj.g_idx", "model.layers.{}.self_attn.q_proj.qzeros"], + "model.layers.{}.self_attn.k_proj.qweight":["model.layers.{}.self_attn.k_proj.scales", "model.layers.{}.self_attn.k_proj.g_idx", "model.layers.{}.self_attn.k_proj.qzeros"], + "model.layers.{}.self_attn.v_proj.qweight":["model.layers.{}.self_attn.v_proj.scales", "model.layers.{}.self_attn.v_proj.g_idx", "model.layers.{}.self_attn.v_proj.qzeros"], + "model.layers.{}.self_attn.o_proj.qweight":["model.layers.{}.self_attn.o_proj.scales", "model.layers.{}.self_attn.o_proj.g_idx", "model.layers.{}.self_attn.o_proj.qzeros"], + "model.layers.{}.mlp.gate_proj.qweight":["model.layers.{}.mlp.gate_proj.scales", "model.layers.{}.mlp.gate_proj.g_idx", "model.layers.{}.mlp.gate_proj.qzeros"], + "model.layers.{}.mlp.up_proj.qweight": ["model.layers.{}.mlp.up_proj.scales", "model.layers.{}.mlp.up_proj.g_idx", "model.layers.{}.mlp.up_proj.qzeros"], + "model.layers.{}.mlp.down_proj.qweight": ["model.layers.{}.mlp.down_proj.scales", "model.layers.{}.mlp.down_proj.g_idx", "model.layers.{}.mlp.down_proj.qzeros"], + "fc.qweight": ["fc.scales", "fc.g_idx", "fc.qzeros"], + } + + convert_checkpoint = {} + processed_keys = set() + + for gptq_key in autogptq_weigths: + if gptq_key in processed_keys: + continue + elif "layers" in gptq_key: + abstract_key = re.sub(r'(\d+)', '{}', gptq_key) + layer_num = re.search(r'\d+', gptq_key).group(0) + if "q_proj" in abstract_key: + if abstract_key.endswith('qweight'): + k_key = gptq_key.replace('q_proj', 'k_proj') + v_key = gptq_key.replace('q_proj', 'v_proj') + + q_weight = autogptq_weigths[gptq_key].clone().cuda() + k_weight = autogptq_weigths[k_key].clone().cuda() + v_weight = autogptq_weigths[v_key].clone().cuda() + x = torch.cat([q_weight, k_weight, v_weight], dim=-1) + + shape_0 = x.shape[0] * 8 + shape_1 = x.shape[1] + x = marlin_repack_qweight(x, bits, shape_0, shape_1) + + convert_checkpoint[gptq_key.replace("q_proj", "qkv_proj")] = x.cpu() + + processed_keys.add(gptq_key) + processed_keys.add(k_key) + processed_keys.add(v_key) + + for q_keys in gptq_convert_dict[abstract_key]: + if q_keys.endswith("scales"): + k_q_keys = q_keys.replace("q_proj", "k_proj") + v_q_keys = q_keys.replace("q_proj", "v_proj") + + scales_x_q = autogptq_weigths[q_keys.format(layer_num)].clone().cuda() + scales_x_k = autogptq_weigths[k_q_keys.format(layer_num)].clone().cuda() + scales_x_v = autogptq_weigths[v_q_keys.format(layer_num)].clone().cuda() + scales_x = torch.cat([scales_x_q, scales_x_k, scales_x_v], dim=-1) + scales_x.data = marlin_permute_scales(scales_x.data.contiguous(), + size_k=shape_0, + size_n=shape_1, + group_size=group_size) + convert_checkpoint[q_keys.format(layer_num).replace("q_proj", "qkv_proj")] = scales_x.cpu() + + processed_keys.add(q_keys.format(layer_num)) + processed_keys.add(q_keys.replace("q_proj", "k_proj").format(layer_num)) + processed_keys.add(q_keys.replace("q_proj", "v_proj").format(layer_num)) + elif "gate_proj" in abstract_key: + if abstract_key.endswith('qweight'): + up_key = gptq_key.replace('gate_proj', 'up_proj') + + gate_weight = autogptq_weigths[gptq_key].clone().cuda() + up_weight = autogptq_weigths[up_key].clone().cuda() + + x = torch.cat([gate_weight, up_weight], dim=-1) + + shape_0 = x.shape[0] * 8 + shape_1 = x.shape[1] + x = marlin_repack_qweight(x, bits, shape_0, shape_1) + + convert_checkpoint[gptq_key.replace("gate_proj", "gate_up_proj")] = x.cpu() + + processed_keys.add(gptq_key) + processed_keys.add(up_key) + + for q_keys in gptq_convert_dict[abstract_key]: + if q_keys.endswith("scales"): + up_q_keys = q_keys.replace("gate_proj", "up_proj") + + scales_x_gate = autogptq_weigths[q_keys.format(layer_num)].clone().cuda() + scales_x_up = autogptq_weigths[up_q_keys.format(layer_num)].clone().cuda() + scales_x = torch.cat([scales_x_gate, scales_x_up], dim=-1) + scales_x.data = marlin_permute_scales(scales_x.data.contiguous(), + size_k=shape_0, + size_n=shape_1, + group_size=group_size) + convert_checkpoint[q_keys.format(layer_num).replace("gate_proj", "gate_up_proj")] = scales_x.cpu() + + processed_keys.add(q_keys.format(layer_num)) + processed_keys.add(q_keys.replace("gate_proj", "up_proj").format(layer_num)) + + elif "down_proj" in abstract_key or "o_proj" in abstract_key: + if abstract_key.endswith('qweight'): + x = autogptq_weigths[gptq_key].clone().cuda() + + shape_0 = x.shape[0] * 8 + shape_1 = x.shape[1] + x = marlin_repack_qweight(x, bits, shape_0, shape_1) + + convert_checkpoint[gptq_key] = x.cpu() + + processed_keys.add(gptq_key) + + for q_keys in gptq_convert_dict[abstract_key]: + if q_keys.endswith("scales"): + + scales_x = autogptq_weigths[q_keys.format(layer_num)].clone().cuda() + scales_x.data = marlin_permute_scales(scales_x.data.contiguous(), + size_k=shape_0, + size_n=shape_1, + group_size=group_size) + convert_checkpoint[q_keys.format(layer_num)] = scales_x.cpu() + + processed_keys.add(q_keys.format(layer_num)) + + elif "post_attention_layernorm" in gptq_key or "input_layernorm" in gptq_key: + convert_checkpoint[gptq_key] = autogptq_weigths[gptq_key].clone() + elif "fc" in gptq_key and autogptq_weigths[gptq_key].dtype == torch.int32: + if gptq_key.endswith('qweight'): + fc_qweight = autogptq_weigths[gptq_key].clone().cuda() + packed_in_features_x_2, out_features = fc_qweight.shape + packed_in_features = packed_in_features_x_2 // 2 + in_features = packed_in_features * 32 // bits + fc1_weight = fc_qweight[:packed_in_features, :].contiguous() + fc2_weight = fc_qweight[packed_in_features:, :].contiguous() + + fc1_weight = marlin_repack_qweight(fc1_weight, bits, in_features, out_features) + fc2_weight = marlin_repack_qweight(fc2_weight, bits, in_features, out_features) + + convert_checkpoint[gptq_key] = torch.cat([fc1_weight, fc2_weight], dim=-1).cpu() + processed_keys.add(gptq_key) + + for fc_key in gptq_convert_dict[gptq_key]: + if fc_key.endswith("scales"): + fc_scales = autogptq_weigths[gptq_key.replace("qweight", "scales")].clone().cuda() + fc_scales_1 = fc_scales[:in_features // group_size, :].contiguous() + fc_scales_2 = fc_scales[in_features // group_size:, :].contiguous() + + fc_scales_1 = marlin_permute_scales( + fc_scales_1.data.contiguous(), + size_k=in_features, + size_n=out_features, + group_size=group_size + ) + fc_scales_2 = marlin_permute_scales( + fc_scales_2.data.contiguous(), + size_k=in_features, + size_n=out_features, + group_size=group_size + ) + # convert_checkpoint[q_keys.format(layer_num).replace("gate_proj", "gate_up_proj")] = scales_x.cpu() + convert_checkpoint[gptq_key.replace("qweight", "scales")] = torch.cat([fc_scales_1, fc_scales_2], dim=-1).cpu() + processed_keys.add(gptq_key.replace("qweight", "scales")) + else: + convert_checkpoint[gptq_key] = autogptq_weigths[gptq_key].clone() + + save_file(convert_checkpoint, os.path.join(output_path, f"model_gptq.safetensors")) + # copy quantization config + config_list = glob.glob(os.path.join(quant_path, "*config.json")) + for config_file in config_list: + # copy config to output path + config_filename = os.path.basename(config_file) + dst_path = os.path.join(output_path, config_filename) + shutil.copy2(config_file, dst_path) + + # copy tokenizer + tokenizer_list = glob.glob(os.path.join(orig_model_path, "tokenizer*")) + for tokenizer_file in tokenizer_list: + # copy config to output path + tokenizer_filename = os.path.basename(tokenizer_file) + dst_path = os.path.join(output_path, tokenizer_filename) + shutil.copy2(tokenizer_file, dst_path) + + # copy "special_tokens_map.json" + special_tokens_map_file = glob.glob(os.path.join(orig_model_path, "special_tokens_map.json"))[0] + special_tokens_map_basename = os.path.basename(special_tokens_map_file) + dst_path = os.path.join(output_path, special_tokens_map_basename) + shutil.copy2(special_tokens_map_file, dst_path) + +if __name__=="__main__": + + args = parser.parse_args() + orig_model_path = args.model_path + quant_path = args.quant_path + output_path = args.output_path + + os.makedirs(output_path, exist_ok=True) + + convert_w4a16_checkpoint(orig_model_path, quant_path, output_path) \ No newline at end of file diff --git a/examples/CPM.cu/model_convert/post_process_w4a16_eagle.py b/examples/CPM.cu/model_convert/post_process_w4a16_eagle.py new file mode 100644 index 00000000..f9a940d3 --- /dev/null +++ b/examples/CPM.cu/model_convert/post_process_w4a16_eagle.py @@ -0,0 +1,48 @@ +import os +import torch +import argparse +from safetensors.torch import load_file, save_file + +parser = argparse.ArgumentParser() +parser.add_argument("--fp-model-path", type=str, required=True, help="Path to the fp model") +parser.add_argument("--quant-model-path", type=str, required=True, help="Path to the quantized model") +parser.add_argument("--output-path", type=str, required=True, help="Path to save the converted model") + +def post_process_eagle_w4a16_ckpt(fp_model_path, quant_model_path, output_path): + fp_model = torch.load(os.path.join(fp_model_path, "pytorch_model.bin")) + quant_model = load_file(os.path.join(quant_model_path, "model_gptq.safetensors")) + + new_state_dict = {} + + assert (fp_model["embed_tokens.weight"].to(torch.float16) == quant_model["model.embed_tokens.weight"].cuda().to(torch.float16)).all(), "embed_tokens.weight mismatch" + new_state_dict["embed_tokens.weight"] = fp_model["embed_tokens.weight"].to(torch.float16) + + if "fc.weight" in quant_model.keys(): + assert (fp_model["fc.weight"].to(torch.float16) == quant_model["fc.weight"].cuda().to(torch.float16)).all(), "fc.weight mismatch" + new_state_dict["fc.weight"] = fp_model["fc.weight"].to(torch.float16) + elif "fc.qweight" in quant_model.keys(): + new_state_dict["fc.qweight"] = quant_model["fc.qweight"] + new_state_dict["fc.scales"] = quant_model["fc.scales"] + + new_state_dict["input_norm1.weight"] = fp_model["input_norm1.weight"].to(torch.float16) + new_state_dict["input_norm2.weight"] = fp_model["input_norm2.weight"].to(torch.float16) + + for key, value in quant_model.items(): + if "model.layers." in key: + new_key = key.replace("model.", "") + new_state_dict[new_key] = value + + save_file(new_state_dict, os.path.join(output_path, f"model_gptq.safetensors")) + + os.system(f"cp {quant_model_path}/*.json {output_path}") + +if __name__ == "__main__": + args = parser.parse_args() + fp_model_path = args.fp_model_path + quant_model_path = args.quant_model_path + output_path = args.output_path + + os.makedirs(output_path, exist_ok=True) + + post_process_eagle_w4a16_ckpt(fp_model_path, quant_model_path, output_path) + \ No newline at end of file diff --git a/examples/CPM.cu/scripts/fr_spec/gen_fr_index.py b/examples/CPM.cu/scripts/fr_spec/gen_fr_index.py new file mode 100644 index 00000000..b556ca95 --- /dev/null +++ b/examples/CPM.cu/scripts/fr_spec/gen_fr_index.py @@ -0,0 +1,89 @@ +from datasets import load_dataset +from transformers import AutoTokenizer +from collections import Counter +from tqdm import tqdm +import torch +import argparse +import os + +def main(args): + print(f"Generating FR index for {args.model_name} with vocab size {args.vocab_size}") + print(f"This may take about 5-10 minutes with 1M lines on good network connection") + print("Loading dataset...") + ds = load_dataset('Salesforce/wikitext', 'wikitext-103-raw-v1', streaming=True)['train'] + # Only take the number of samples we need to process + ds = ds.take(args.num_lines + 1) # +1 to account for 0-indexing + print(f"Dataset limited to {args.num_lines + 1} samples") + + print("Loading tokenizer...") + tokenizer = AutoTokenizer.from_pretrained(args.model_path) + print("Tokenizer loaded successfully") + + token_counter = Counter() + num_lines = args.num_lines + num_tokens = 0 + print("Starting to process data...") + for i, d in tqdm(enumerate(ds)): + tokens = tokenizer.encode(d['text']) + token_counter.update(tokens) + num_tokens += len(tokens) + if i == num_lines: + break + + sort_by_freq = sorted(token_counter.items(), key=lambda x: x[1], reverse=True) + ids, frequencies = zip(*sort_by_freq) + ids = list(ids) + + print(f"processed {num_lines} items") + print(f"processed {num_tokens} tokens") + print(f"unique tokens: {len(ids)}") + + os.makedirs(f'fr_index/{args.model_name}', exist_ok=True) + + for r in args.vocab_size: + eos_id = tokenizer.encode(tokenizer.special_tokens_map['eos_token']) + if eos_id not in ids[:r]: + not_in_ids = len(set(eos_id) - set(ids[:r])) + freq_ids = ids[:r - not_in_ids] + eos_id + else: + freq_ids = ids[:r] + if (r != len(freq_ids)): + print(f"Warning: requested vocab_size {r} but actual size: {len(freq_ids)}, file not saved") + else: + pt_path = f'fr_index/{args.model_name}/freq_{r}.pt' + print(f'save {pt_path}, actual size: {len(freq_ids)}') + with open(pt_path, 'wb') as f: + torch.save(freq_ids, f) + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + + parser.add_argument( + '--model_name', + type=str, + default='MiniCPM4-8B', + help='The name of the model.' + ) + parser.add_argument( + '--model_path', + type=str, + default='openbmb/MiniCPM4-8B', + help='The path to the model.' + ) + parser.add_argument( + '--num_lines', + type=int, + default=1000000, + help='The number of lines to process.' + ) + parser.add_argument( + '--vocab_size', + nargs='+', + type=int, + default=[8192, 16384, 32768], + help='The vocab sizes to process.' + ) + + args = parser.parse_args() + print(args) + main(args) diff --git a/examples/CPM.cu/scripts/model_convert/convert_w4a16.sh b/examples/CPM.cu/scripts/model_convert/convert_w4a16.sh new file mode 100644 index 00000000..15320d1f --- /dev/null +++ b/examples/CPM.cu/scripts/model_convert/convert_w4a16.sh @@ -0,0 +1,9 @@ +Model_Path=/yourpath/minicpm4_mupformat +Quant_Path=/yourpath/minicpm4_autogptq +Output_Path=/yourpath/minicpm4_marlin + + +python model_convert/convert_w4a16.py \ + --model-path $Model_Path \ + --quant-path $Quant_Path \ + --output-path $Output_Path \ No newline at end of file diff --git a/examples/CPM.cu/setup.py b/examples/CPM.cu/setup.py new file mode 100644 index 00000000..e19f9d7b --- /dev/null +++ b/examples/CPM.cu/setup.py @@ -0,0 +1,317 @@ +import os, glob +from setuptools import setup, find_packages + +this_dir = os.path.dirname(os.path.abspath(__file__)) + +def detect_cuda_arch(): + """Automatically detect current CUDA architecture""" + # 1. First check if environment variable specifies architecture + env_arch = os.getenv("CPMCU_CUDA_ARCH") + if env_arch: + # Only support simple comma-separated format, e.g., "80,86" + arch_list = [] + tokens = env_arch.split(',') + + for token in tokens: + token = token.strip() + if not token: + continue + + # Check format: must be pure digits + if not token.isdigit(): + raise ValueError( + f"Invalid CUDA architecture format: '{token}'. " + f"CPMCU_CUDA_ARCH should only contain comma-separated numbers like '80,86'" + ) + + arch_list.append(token) + + if arch_list: + print(f"Using CUDA architectures from environment variable: {arch_list}") + return arch_list + + # 2. Check if torch library is available, if so, auto-detect + try: + import torch + except ImportError: + # 3. If no environment variable and no torch, throw error + raise RuntimeError( + "CUDA architecture detection failed. Please either:\n" + "1. Set environment variable CPMCU_CUDA_ARCH (e.g., export CPMCU_CUDA_ARCH=90), or\n" + "2. Install PyTorch (pip install torch) for automatic detection.\n" + "Common CUDA architectures: 70 (V100), 75 (T4), 80 (A100), 86 (RTX 30xx), 89 (RTX 40xx), 90 (H100)" + ) + + # Use torch to auto-detect all GPU architectures + try: + if torch.cuda.is_available(): + arch_set = set() + device_count = torch.cuda.device_count() + for i in range(device_count): + major, minor = torch.cuda.get_device_capability(i) + arch = f"{major}{minor}" + arch_set.add(arch) + + arch_list = sorted(list(arch_set)) # Sort for consistency + print(f"Detected CUDA architectures: {arch_list} (from {device_count} GPU devices)") + return arch_list + else: + raise RuntimeError( + "No CUDA devices detected. Please either:\n" + "1. Set environment variable CPMCU_CUDA_ARCH (e.g., export CPMCU_CUDA_ARCH=90), or\n" + "2. Ensure CUDA devices are available and properly configured.\n" + "Common CUDA architectures: 70 (V100), 75 (T4), 80 (A100), 86 (RTX 30xx), 89 (RTX 40xx), 90 (H100)" + ) + except Exception as e: + raise RuntimeError( + f"CUDA architecture detection failed: {e}\n" + "Please set environment variable CPMCU_CUDA_ARCH (e.g., export CPMCU_CUDA_ARCH=90).\n" + "Common CUDA architectures: 70 (V100), 75 (T4), 80 (A100), 86 (RTX 30xx), 89 (RTX 40xx), 90 (H100)" + ) + +def append_nvcc_threads(nvcc_extra_args): + nvcc_threads = os.getenv("NVCC_THREADS") or "16" + return nvcc_extra_args + ["--threads", nvcc_threads] + +def get_compile_args(): + """Return different compilation arguments based on debug mode""" + debug_mode = os.getenv("CPMCU_DEBUG", "0").lower() in ("1", "true", "yes") + perf_mode = os.getenv("CPMCU_PERF", "0").lower() in ("1", "true", "yes") + + # Check precision type environment variable + dtype_env = os.getenv("CPMCU_DTYPE", "fp16").lower() + + # Parse precision type list + dtype_list = [dtype.strip() for dtype in dtype_env.split(',')] + + # Validate precision types + valid_dtypes = {"fp16", "bf16"} + invalid_dtypes = [dtype for dtype in dtype_list if dtype not in valid_dtypes] + if invalid_dtypes: + raise ValueError( + f"Invalid CPMCU_DTYPE values: {invalid_dtypes}. " + f"Supported values: 'fp16', 'bf16', 'fp16,bf16'" + ) + + # Deduplicate and generate compilation definitions + dtype_set = set(dtype_list) + dtype_defines = [] + if "fp16" in dtype_set: + dtype_defines.append("-DENABLE_DTYPE_FP16") + if "bf16" in dtype_set: + dtype_defines.append("-DENABLE_DTYPE_BF16") + + # Print compilation information + if len(dtype_set) == 1: + dtype_name = list(dtype_set)[0].upper() + print(f"Compiling with {dtype_name} support only") + else: + dtype_names = [dtype.upper() for dtype in sorted(dtype_set)] + print(f"Compiling with {' and '.join(dtype_names)} support") + + # Common compilation arguments + common_cxx_args = ["-std=c++17"] + dtype_defines + common_nvcc_args = [ + "-std=c++17", + "-U__CUDA_NO_HALF_OPERATORS__", + "-U__CUDA_NO_HALF_CONVERSIONS__", + "-U__CUDA_NO_HALF2_OPERATORS__", + "-U__CUDA_NO_BFLOAT16_CONVERSIONS__", + "--expt-relaxed-constexpr", + "--expt-extended-lambda", + ] + dtype_defines + + if debug_mode: + print("Debug mode enabled (CPMCU_DEBUG=1)") + cxx_args = common_cxx_args + [ + "-g3", # Most detailed debug information + "-O0", # Disable optimization + "-DDISABLE_MEMPOOL", + "-DDEBUG", + "-fno-inline", # Disable inlining + "-fno-omit-frame-pointer", # Keep frame pointer + ] + nvcc_base_args = common_nvcc_args + [ + "-O0", + "-g", # Host-side debug information + "-lineinfo", # Generate line number information + "-DDISABLE_MEMPOOL", + "-DDEBUG", + "-DCUDA_DEBUG", + "-Xcompiler", "-g3", # Pass to host compiler + "-Xcompiler", "-fno-inline", # Disable inlining + "-Xcompiler", "-fno-omit-frame-pointer", # Keep frame pointer + ] + # Debug mode linking arguments + link_args = ["-g", "-rdynamic"] + else: + print("Release mode enabled") + cxx_args = common_cxx_args + ["-O3"] + nvcc_base_args = common_nvcc_args + [ + "-O3", + "--use_fast_math", + ] + # Release mode linking arguments + link_args = [] + + # Add performance testing control + if perf_mode: + print("Performance monitoring enabled (CPMCU_PERF=1)") + cxx_args.append("-DENABLE_PERF") + nvcc_base_args.append("-DENABLE_PERF") + else: + print("Performance monitoring disabled (CPMCU_PERF=0)") + + return cxx_args, nvcc_base_args, link_args, dtype_set + +def get_all_headers(): + """Get all header files for dependency tracking""" + header_patterns = [ + "src/**/*.h", + "src/**/*.hpp", + "src/**/*.cuh", + "src/cutlass/include/**/*.h", + "src/cutlass/include/**/*.hpp", + "src/flash_attn/**/*.h", + "src/flash_attn/**/*.hpp", + "src/flash_attn/**/*.cuh", + ] + + headers = [] + for pattern in header_patterns: + abs_headers = glob.glob(os.path.join(this_dir, pattern), recursive=True) + # Convert to relative paths + rel_headers = [os.path.relpath(h, this_dir) for h in abs_headers] + headers.extend(rel_headers) + + # Filter out non-existent files (check absolute path but return relative path) + headers = [h for h in headers if os.path.exists(os.path.join(this_dir, h))] + + return headers + +def get_flash_attn_sources(enabled_dtypes): + """Get flash attention source files based on enabled data types""" + sources = [] + + for dtype in enabled_dtypes: + if dtype == "fp16": + # sources.extend(glob.glob("src/flash_attn/src/*hdim64_fp16*.cu")) + sources.extend(glob.glob("src/flash_attn/src/*hdim128_fp16*.cu")) + elif dtype == "bf16": + # sources.extend(glob.glob("src/flash_attn/src/*hdim64_bf16*.cu")) + sources.extend(glob.glob("src/flash_attn/src/*hdim128_bf16*.cu")) + + return sources + +# Try to build extension modules +ext_modules = [] +cmdclass = {} + +try: + # Try to import torch-related modules + from torch.utils.cpp_extension import BuildExtension, CUDAExtension + + # Get CUDA architecture + arch_list = detect_cuda_arch() + + # Get compilation arguments + cxx_args, nvcc_base_args, link_args, dtype_set = get_compile_args() + + # Get header files + all_headers = get_all_headers() + + # Generate gencode arguments for each architecture + gencode_args = [] + arch_defines = [] + for arch in arch_list: + gencode_args.extend(["-gencode", f"arch=compute_{arch},code=sm_{arch}"]) + arch_defines.append(f"-D_ARCH{arch}") + + print(f"Using CUDA architecture compile flags: {arch_list}") + + flash_attn_sources = get_flash_attn_sources(dtype_set) + + # Create Ninja build extension class + 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) + + # Configure extension module + ext_modules = [ + CUDAExtension( + name='cpmcu.C', + sources = [ + "src/entry.cu", + "src/utils.cu", + "src/signal_handler.cu", + "src/perf.cu", + *glob.glob("src/qgemm/gptq_marlin/*cu"), + *flash_attn_sources, + ], + libraries=["cublas", "dl"], + depends=all_headers, + extra_compile_args={ + "cxx": cxx_args, + "nvcc": append_nvcc_threads( + nvcc_base_args + + gencode_args + + arch_defines + [ + # Add dependency file generation options + "-MMD", "-MP", + ] + ), + }, + extra_link_args=link_args, + include_dirs=[ + f"{this_dir}/src/flash_attn", + f"{this_dir}/src/flash_attn/src", + f"{this_dir}/src/cutlass/include", + f"{this_dir}/src/", + ], + ) + ] + + cmdclass = {'build_ext': NinjaBuildExtension} + +except Exception as e: + print(f"Warning: Unable to configure CUDA extension module: {e}") + print("Skipping extension module build, installing Python package only...") + +setup( + name='cpmcu', + version='1.0.0', + author_email="acha131441373@gmail.com", + description="cpm cuda implementation", + packages=find_packages(), + setup_requires=[ + "pybind11", + "psutil", + "ninja", + "torch", + ], + install_requires=[ + "transformers==4.46.2", + "accelerate==0.26.0", + "datasets", + "fschat", + "openai", + "anthropic", + "human_eval", + "zstandard", + "tree_sitter", + "tree-sitter-python" + ], + ext_modules=ext_modules, + cmdclass=cmdclass, +) \ No newline at end of file diff --git a/examples/CPM.cu/src/entry.cu b/examples/CPM.cu/src/entry.cu new file mode 100644 index 00000000..41b3acc3 --- /dev/null +++ b/examples/CPM.cu/src/entry.cu @@ -0,0 +1,534 @@ +#include <pybind11/pybind11.h> +#include <cuda_runtime.h> +#include <type_traits> +#include <stdexcept> + +#include "utils.cuh" +#include "trait.cuh" +#include "perf.cuh" +// base model +#include "model/model.cuh" +#include "model/w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh" +#include "model/minicpm4/minicpm4_model.cuh" +#include "model/minicpm4/minicpm4_w4a16_gptq_marlin_model.cuh" + +// eagle +#include "model/eagle.cuh" +#include "model/minicpm4/minicpm4_eagle.cuh" +#include "model/eagle_base_quant/eagle_base_w4a16_gptq_marlin.cuh" + +// spec model +#include "model/spec_quant/w4a16_gm_spec_w4a16_gm.cuh" + +// hier +#include "model/hier_spec_quant/hier_ea_w4a16_gm_spec_w4a16_gm.cuh" +#include "model/hier_spec_quant/hier_ea_w4a16_gm_rot_spec_w4a16_gm.cuh" + + +#if defined(ENABLE_DTYPE_FP16) && defined(ENABLE_DTYPE_BF16) +#define DTYPE_SWITCH(COND, ...) \ + [&] { \ + if (COND == 0) { \ + using elem_type = __half; \ + return __VA_ARGS__(); \ + } else { \ + using elem_type = __nv_bfloat16; \ + return __VA_ARGS__(); \ + } \ + }() +#elif defined(ENABLE_DTYPE_FP16) +#define DTYPE_SWITCH(COND, ...) \ + [&] { \ + if (COND != 0) { \ + throw std::runtime_error("BF16 support not compiled. Please recompile with CPMCU_DTYPE=bf16 or CPMCU_DTYPE=fp16,bf16"); \ + } \ + using elem_type = __half; \ + return __VA_ARGS__(); \ + }() +#elif defined(ENABLE_DTYPE_BF16) +#define DTYPE_SWITCH(COND, ...) \ + [&] { \ + if (COND == 0) { \ + throw std::runtime_error("FP16 support not compiled. Please recompile with CPMCU_DTYPE=fp16 or CPMCU_DTYPE=fp16,bf16"); \ + } \ + using elem_type = __nv_bfloat16; \ + return __VA_ARGS__(); \ + }() +#else +#error "At least one of ENABLE_DTYPE_FP16 or ENABLE_DTYPE_BF16 must be defined" +#endif + +#define MODEL_TYPE_SWITCH(MODEL_PTR, T, ...) \ + [&] { \ + if (dynamic_cast<MiniCPM4Impl<T>*>(MODEL_PTR)) { \ + using ModelType = MiniCPM4Impl<T>; \ + auto* typed_model = static_cast<MiniCPM4Impl<T>*>(MODEL_PTR); \ + return __VA_ARGS__(); \ + } else if (dynamic_cast<ModelImpl<T>*>(MODEL_PTR)) { \ + using ModelType = ModelImpl<T>; \ + auto* typed_model = static_cast<ModelImpl<T>*>(MODEL_PTR); \ + return __VA_ARGS__(); \ + } \ + else if (dynamic_cast<W4A16GPTQMarlinModelImpl<T>*>(MODEL_PTR)) { \ + using ModelType = W4A16GPTQMarlinModelImpl<T>; \ + auto* typed_model = static_cast<W4A16GPTQMarlinModelImpl<T>*>(MODEL_PTR); \ + return __VA_ARGS__(); \ + } else if (dynamic_cast<MiniCPM4W4A16GPTQMarlinModelImpl<T>*>(MODEL_PTR)) { \ + using ModelType = MiniCPM4W4A16GPTQMarlinModelImpl<T>; \ + auto* typed_model = static_cast<MiniCPM4W4A16GPTQMarlinModelImpl<T>*>(MODEL_PTR); \ + return __VA_ARGS__(); \ + } \ + }() + +#define EAGLE_QUANT_SWITCH(COND, T, ...) \ + [&] { \ + if (COND == true) { \ + using LayerType = W4A16GPTQMarlinLayer<T>; \ + using Fc1Type = W4A16GPTQMarlinLinear<T, true, true>; \ + using Fc2Type = W4A16GPTQMarlinLinear<T>; \ + return __VA_ARGS__(); \ + } else { \ + using LayerType = Layer<T>; \ + using Fc1Type = Linear<T, true, true>; \ + using Fc2Type = Linear<T>; \ + return __VA_ARGS__(); \ + } \ + }() + +Model* model; + +void init_base_model( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int torch_dtype, + int chunk_length, + float scale_embed, + float scale_lmhead, + float scale_residual +) { + init_resources(); + + DTYPE_SWITCH(torch_dtype, [&] { + model = new ModelImpl<elem_type>( + memory_limit, + vocab_size, + num_hidden_layers, + hidden_size, + intermediate_size, + num_attention_heads, + num_key_value_heads, + head_dim, + rms_norm_eps, + chunk_length, + scale_embed, + scale_lmhead, + scale_residual + ); + }); + +} + +void init_minicpm4_model( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int torch_dtype, + int chunk_length, + float scale_embed, + float scale_lmhead, + float scale_residual, + int sink_window_size, + int block_window_size, + int sparse_topk_k, + int sparse_switch, + bool apply_compress_lse +) { + init_resources(); + + DTYPE_SWITCH(torch_dtype, [&] { + model = new MiniCPM4Impl<elem_type>( + memory_limit, + vocab_size, + num_hidden_layers, + hidden_size, + intermediate_size, + num_attention_heads, + num_key_value_heads, + head_dim, + rms_norm_eps, + chunk_length, + scale_embed, + scale_lmhead, + scale_residual, + sink_window_size, + block_window_size, + sparse_topk_k, + sparse_switch, + apply_compress_lse + ); + }); + +} + +void init_w4a16_gptq_marlin_base_model( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int group_size, + int torch_dtype, + int chunk_length, + float scale_embed, + float scale_lmhead, + float scale_residual +) { + init_resources(); + + DTYPE_SWITCH(torch_dtype, [&] { + model = new W4A16GPTQMarlinModelImpl<elem_type>( + memory_limit, + vocab_size, + num_hidden_layers, + hidden_size, + intermediate_size, + num_attention_heads, + num_key_value_heads, + head_dim, + rms_norm_eps, + group_size, + chunk_length, + scale_embed, + scale_lmhead, + scale_residual + ); + }); + +} + +void init_w4a16_gptq_marlin_minicpm4_model( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int group_size, + int torch_dtype, + int chunk_length, + float scale_embed, + float scale_lmhead, + float scale_residual, + int sink_window_size, + int block_window_size, + int sparse_topk_k, + int sparse_switch, + bool apply_compress_lse +) { + init_resources(); + + DTYPE_SWITCH(torch_dtype, [&] { + model = new MiniCPM4W4A16GPTQMarlinModelImpl<elem_type>( + memory_limit, + vocab_size, + num_hidden_layers, + hidden_size, + intermediate_size, + num_attention_heads, + num_key_value_heads, + head_dim, + rms_norm_eps, + group_size, + chunk_length, + scale_embed, + scale_lmhead, + scale_residual, + sink_window_size, + block_window_size, + sparse_topk_k, + sparse_switch, + apply_compress_lse + ); + }); + +} + +// eagle model +void init_eagle_model( + int num_layers, + int num_iter, + int topk_per_iter, + int tree_size, + int torch_dtype +) { + bool dispatch_model = false; + DTYPE_SWITCH(torch_dtype, [&] { + MODEL_TYPE_SWITCH(model, elem_type, [&] { + dispatch_model = true; + model = new EagleImpl<elem_type, ModelType>( + typed_model, + num_layers, + num_iter, + topk_per_iter, + tree_size + ); + }); + }); + if (!dispatch_model) { + printf("Model type failed to dispatch: %s\n", typeid(*model).name()); + } +} + +void init_minicpm4_eagle_model( + int num_layers, + int num_iter, + int topk_per_iter, + int tree_size, + int torch_dtype, + bool apply_eagle_quant, + int group_size, + int eagle_window_size, + int frspec_vocab_size, + float residual_scale, + bool use_input_norm, + bool use_attn_norm +) { + bool dispatch_model = false; + DTYPE_SWITCH(torch_dtype, [&] { + MODEL_TYPE_SWITCH(model, elem_type, [&] { + dispatch_model = true; + EAGLE_QUANT_SWITCH(apply_eagle_quant, elem_type, [&] { + model = new MiniCPM4EagleImpl<elem_type, ModelType, LayerType, Fc1Type, Fc2Type>( + typed_model, + num_layers, + num_iter, + topk_per_iter, + tree_size, + group_size, + eagle_window_size, + frspec_vocab_size, + residual_scale, + use_input_norm, + use_attn_norm + ); + }); + }); + }); + if (!dispatch_model) { + printf("Model type failed to dispatch: %s\n", typeid(*model).name()); + } +} + +// spec model +void init_w4a16_gm_spec_w4a16_gm_model( + int draft_vocab_size, + int draft_num_hidden_layers, + int draft_hidden_size, + int draft_intermediate_size, + int draft_num_attention_heads, + int draft_num_key_value_heads, + int draft_head_dim, + float draft_rms_norm_eps, + int draft_group_size, + int num_iter, + bool draft_cuda_graph, + int torch_dtype +) { + DTYPE_SWITCH(torch_dtype, [&] { + model = new W4A16GMSpecW4A16GMImpl<elem_type>( + (W4A16GPTQMarlinModelImpl<elem_type>*)model, + draft_vocab_size, + draft_num_hidden_layers, + draft_hidden_size, + draft_intermediate_size, + draft_num_attention_heads, + draft_num_key_value_heads, + draft_head_dim, + draft_rms_norm_eps, + draft_group_size, + num_iter, + draft_cuda_graph + ); + }); +} + +// hier spec model +void init_hier_eagle_w4a16_gm_spec_w4a16_gm_model( + int draft_vocab_size, + int draft_num_hidden_layers, + int draft_hidden_size, + int draft_intermediate_size, + int draft_num_attention_heads, + int draft_num_key_value_heads, + int draft_head_dim, + float draft_rms_norm_eps, + int draft_group_size, + int min_draft_length, + bool draft_cuda_graph, + int ea_num_layers, + int ea_num_iter, + int ea_topk_per_iter, + int ea_tree_size, + bool draft_model_start, + int torch_dtype +) { + DTYPE_SWITCH(torch_dtype, [&] { + model = new HierEagleW4A16GMSpecW4A16GMImpl<elem_type>( + (W4A16GPTQMarlinModelImpl<elem_type>*)model, + draft_vocab_size, + draft_num_hidden_layers, + draft_hidden_size, + draft_intermediate_size, + draft_num_attention_heads, + draft_num_key_value_heads, + draft_head_dim, + draft_rms_norm_eps, + draft_group_size, + min_draft_length, + draft_cuda_graph, + ea_num_layers, + ea_num_iter, + ea_topk_per_iter, + ea_tree_size, + draft_model_start + ); + }); +} + +void init_hier_eagle_w4a16_gm_rot_spec_w4a16_gm_model( + int draft_vocab_size, + int draft_num_hidden_layers, + int draft_hidden_size, + int draft_intermediate_size, + int draft_num_attention_heads, + int draft_num_key_value_heads, + int draft_head_dim, + float draft_rms_norm_eps, + int draft_group_size, + int min_draft_length, + bool draft_cuda_graph, + int ea_num_layers, + int ea_num_iter, + int ea_topk_per_iter, + int ea_tree_size, + bool draft_model_start, + int torch_dtype +) { + DTYPE_SWITCH(torch_dtype, [&] { + model = new HierEagleW4A16GMRotSpecW4A16GMImpl<elem_type>( + (W4A16GPTQMarlinModelImpl<elem_type>*)model, + draft_vocab_size, + draft_num_hidden_layers, + draft_hidden_size, + draft_intermediate_size, + draft_num_attention_heads, + draft_num_key_value_heads, + draft_head_dim, + draft_rms_norm_eps, + draft_group_size, + min_draft_length, + draft_cuda_graph, + ea_num_layers, + ea_num_iter, + ea_topk_per_iter, + ea_tree_size, + draft_model_start + ); + }); +} + + +int init_storage() { + return model->init_storage(); +} + +void load_model(std::string name, std::uintptr_t param) { + model->load_to_storage(name, reinterpret_cast<void*>(param)); +} + +void prefill(int input_length, int history_length, std::uintptr_t input, std::uintptr_t position_ids, std::uintptr_t output) { + model->prefill(input_length, history_length, reinterpret_cast<int32_t*>(input), reinterpret_cast<int32_t*>(position_ids), (void*)(output)); +} + +void decode(int input_length, int padded_length, std::uintptr_t input, std::uintptr_t position_ids, std::uintptr_t cache_length, std::uintptr_t mask_2d, std::uintptr_t output, bool cuda_graph) { + if (cuda_graph) { + if (graphCreated_padding_length != padded_length || graphCreated_input_length != input_length) { + if (graphExec != nullptr) { + cudaGraphExecDestroy(graphExec); + graphExec = nullptr; + } + if (graph != nullptr) { + cudaGraphDestroy(graph); + graph = nullptr; + } + cudaStreamBeginCapture(calc_stream.stream, cudaStreamCaptureModeGlobal); + model->decode(input_length, padded_length, reinterpret_cast<int32_t*>(input), reinterpret_cast<int32_t*>(position_ids), reinterpret_cast<int32_t*>(cache_length), reinterpret_cast<uint64_t*>(mask_2d), reinterpret_cast<void*>(output)); + cudaStreamEndCapture(calc_stream.stream, &graph); + cudaGraphInstantiate(&graphExec, graph, nullptr, nullptr, 0); + graphCreated_padding_length = padded_length; + graphCreated_input_length = input_length; + } + cudaGraphLaunch(graphExec, calc_stream.stream); + } else { + model->decode(input_length, padded_length, reinterpret_cast<int32_t*>(input), reinterpret_cast<int32_t*>(position_ids), reinterpret_cast<int32_t*>(cache_length), reinterpret_cast<uint64_t*>(mask_2d), reinterpret_cast<void*>(output)); + } +} + +void draft(std::uintptr_t tree_draft_ids, std::uintptr_t tree_position_ids, std::uintptr_t cache_length, std::uintptr_t attn_mask, std::uintptr_t tree_parent) { + model->draft(reinterpret_cast<int32_t*>(tree_draft_ids), reinterpret_cast<int32_t*>(tree_position_ids), reinterpret_cast<int32_t*>(cache_length), reinterpret_cast<uint64_t*>(attn_mask), reinterpret_cast<int32_t*>(tree_parent)); +} + +int verify_and_fix(int num_tokens, std::uintptr_t pred, std::uintptr_t gt, std::uintptr_t position_ids, std::uintptr_t cache_length, std::uintptr_t attn_mask, std::uintptr_t tree_parent) { + return model->verify(num_tokens, reinterpret_cast<int32_t*>(pred), reinterpret_cast<int32_t*>(gt), reinterpret_cast<int32_t*>(position_ids), reinterpret_cast<int32_t*>(cache_length), reinterpret_cast<uint64_t*>(attn_mask), reinterpret_cast<int32_t*>(tree_parent)); +} + +void print_perf_summary() { + perf_summary(); +} + +PYBIND11_MODULE(C, m) { + // base bind + m.def("init_base_model", &init_base_model, "Init base model"); + m.def("init_minicpm4_model", &init_minicpm4_model, "Init minicpm4 model"); + m.def("init_w4a16_gptq_marlin_base_model", &init_w4a16_gptq_marlin_base_model, "Init W4A16 base model"); + m.def("init_w4a16_gptq_marlin_minicpm4_model", &init_w4a16_gptq_marlin_minicpm4_model, "Init W4A16 base model"); + + // eagle bind + m.def("init_eagle_model", &init_eagle_model, "Init eagle model"); + m.def("init_minicpm4_eagle_model", &init_minicpm4_eagle_model, "Init minicpm4 eagle model"); + // spec bind + m.def("init_w4a16_gm_spec_w4a16_gm_model", &init_w4a16_gm_spec_w4a16_gm_model, "Init w4a16 spec v1 model"); + + // hier spec bind + m.def("init_hier_eagle_w4a16_gm_spec_w4a16_gm_model", &init_hier_eagle_w4a16_gm_spec_w4a16_gm_model, "init hier eagle gm spec gm model"); + m.def("init_hier_eagle_w4a16_gm_rot_spec_w4a16_gm_model", &init_hier_eagle_w4a16_gm_rot_spec_w4a16_gm_model, "init hier eagle rot gm spec gm model"); + + // interface + m.def("init_storage", &init_storage, "Init storage"); + m.def("load_model", &load_model, "Load model"); + m.def("prefill", &prefill, "Prefill"); + m.def("decode", &decode, "Decode"); + m.def("draft", &draft, "Draft"); + m.def("verify_and_fix", &verify_and_fix, "Verify and fix"); + m.def("print_perf_summary", &print_perf_summary, "Print perf summary"); +} \ No newline at end of file diff --git a/examples/CPM.cu/src/flash_attn/flash_api.hpp b/examples/CPM.cu/src/flash_attn/flash_api.hpp new file mode 100644 index 00000000..f0ee07e6 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/flash_api.hpp @@ -0,0 +1,392 @@ +/****************************************************************************** + * Copyright (c) 2024, Tri Dao. + ******************************************************************************/ + +#include <cutlass/numeric_types.h> + +#include "flash.h" +#include "static_switch.h" +#include "../model/mask.cuh" + +void set_params_fprop(Flash_fwd_params ¶ms, + bool is_bf16, + // sizes + const size_t b, + const size_t seqlen_q, + const size_t seqlen_k, + const size_t seqlen_q_rounded, + const size_t seqlen_k_rounded, + const size_t h, + const size_t h_k, + const size_t d, + const size_t d_rounded, + // device pointers + void* q, + void* k, + void* v, + void* out, + void *cu_seqlens_q_d, + void *cu_seqlens_k_d, + void *seqused_k, + void *p_d, + void *softmax_lse_d, + float p_dropout, + float softmax_scale, + int window_size_left, + int window_size_right, + const float softcap, + bool seqlenq_ngroups_swapped=false, + const bool unpadded_lse=false) { + + // Reset the parameters + params = {}; + + params.is_bf16 = is_bf16; + + // Set the pointers and strides. + params.q_ptr = q; + params.k_ptr = k; + params.v_ptr = v; + // All stride are in elements, not bytes. + params.q_row_stride = h * d; + params.k_row_stride = h_k * d; + params.v_row_stride = h_k * d; + params.q_head_stride = d; + params.k_head_stride = d; + params.v_head_stride = d; + params.o_ptr = out; + params.o_row_stride = h * d; + params.o_head_stride = d; + + if (cu_seqlens_q_d == nullptr) { + params.q_batch_stride = seqlen_q * h * d; + params.k_batch_stride = seqlen_k * h_k * d; + params.v_batch_stride = seqlen_k * h_k * d; + params.o_batch_stride = seqlen_q * h * d; + if (seqlenq_ngroups_swapped) { + params.q_batch_stride *= seqlen_q; + params.o_batch_stride *= seqlen_q; + } + } + + params.cu_seqlens_q = static_cast<int *>(cu_seqlens_q_d); + params.cu_seqlens_k = static_cast<int *>(cu_seqlens_k_d); + params.seqused_k = static_cast<int *>(seqused_k); + + // P = softmax(QK^T) + params.p_ptr = p_d; + + // Softmax sum + params.softmax_lse_ptr = softmax_lse_d; + + // Set the dimensions. + params.b = b; + params.h = h; + params.h_k = h_k; + params.h_h_k_ratio = h / h_k; + params.seqlen_q = seqlen_q; + params.seqlen_k = seqlen_k; + params.seqlen_q_rounded = seqlen_q_rounded; + params.seqlen_k_rounded = seqlen_k_rounded; + params.d = d; + params.d_rounded = d_rounded; + + // Set the different scale values. + if (softcap > 0.0) { + params.softcap = softmax_scale / softcap; + params.scale_softmax = softcap; + params.scale_softmax_log2 = softcap * M_LOG2E; + } else{ + // Remove potential NaN + params.softcap = 0.0; + params.scale_softmax = softmax_scale; + params.scale_softmax_log2 = softmax_scale * M_LOG2E; + } + + // Set this to probability of keeping an element to simplify things. + params.p_dropout = 1.f - p_dropout; + // Convert p from float to int so we don't have to convert the random uint to float to compare. + // [Minor] We want to round down since when we do the comparison we use <= instead of < + // params.p_dropout_in_uint = uint32_t(std::floor(params.p_dropout * 4294967295.0)); + // params.p_dropout_in_uint16_t = uint16_t(std::floor(params.p_dropout * 65535.0)); + params.p_dropout_in_uint8_t = uint8_t(std::floor(params.p_dropout * 255.0)); + params.rp_dropout = 1.f / params.p_dropout; + params.scale_softmax_rp_dropout = params.rp_dropout * params.scale_softmax; + + // Causal is the special case where window_size_right == 0 and window_size_left < 0. + // Local is the more general case where window_size_right >= 0 or window_size_left >= 0. + params.is_causal = window_size_left < 0 && window_size_right == 0; + + if (window_size_left < 0 && window_size_right >= 0) { window_size_left = seqlen_k; } + if (window_size_left >= 0 && window_size_right < 0) { window_size_right = seqlen_k; } + params.window_size_left = window_size_left; + params.window_size_right = window_size_right; + + params.is_seqlens_k_cumulative = true; + + params.unpadded_lse = unpadded_lse; + params.seqlenq_ngroups_swapped = seqlenq_ngroups_swapped; +} + +void run_mha_fwd(Flash_fwd_params ¶ms, cudaStream_t stream, bool force_split_kernel=false) { + FP16_SWITCH(!params.is_bf16, [&] { + HEADDIM_SWITCH(params.d, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + if (params.num_splits <= 1 && !force_split_kernel) { // If we don't set it num_splits == 0 + run_mha_fwd_<elem_type, kHeadDim, Is_causal>(params, stream); + } else { + run_mha_fwd_splitkv_dispatch<elem_type, kHeadDim, Is_causal>(params, stream); + } + }); + }); + }); +} + +// Find the number of splits that maximizes the occupancy. For example, if we have +// batch * n_heads = 48 and we have 108 SMs, having 2 splits (efficiency = 0.89) is +// better than having 3 splits (efficiency = 0.67). However, we also don't want too many +// splits as that would incur more HBM reads/writes. +// So we find the best efficiency, then find the smallest number of splits that gets 85% +// of the best efficiency. +inline int num_splits_heuristic(int batch_nheads_mblocks, int num_SMs, int num_n_blocks, int max_splits) { + // If we have enough to almost fill the SMs, then just use 1 split + if (batch_nheads_mblocks >= 0.8f * num_SMs) { return 1; } + max_splits = std::min({max_splits, num_SMs, num_n_blocks}); + float max_efficiency = 0.f; + std::vector<float> efficiency; + efficiency.reserve(max_splits); + auto ceildiv = [](int a, int b) { return (a + b - 1) / b; }; + // Some splits are not eligible. For example, if we have 64 blocks and choose 11 splits, + // we'll have 6 * 10 + 4 blocks. If we choose 12 splits, we'll have 6 * 11 + (-2) blocks + // (i.e. it's 11 splits anyway). + // So we check if the number of blocks per split is the same as the previous num_splits. + auto is_split_eligible = [&ceildiv, &num_n_blocks](int num_splits) { + return num_splits == 1 || ceildiv(num_n_blocks, num_splits) != ceildiv(num_n_blocks, num_splits - 1); + }; + for (int num_splits = 1; num_splits <= max_splits; num_splits++) { + if (!is_split_eligible(num_splits)) { + efficiency.push_back(0.f); + } else { + float n_waves = float(batch_nheads_mblocks * num_splits) / num_SMs; + float eff = n_waves / ceil(n_waves); + // printf("num_splits = %d, eff = %f\n", num_splits, eff); + if (eff > max_efficiency) { max_efficiency = eff; } + efficiency.push_back(eff); + } + } + for (int num_splits = 1; num_splits <= max_splits; num_splits++) { + if (!is_split_eligible(num_splits)) { continue; } + if (efficiency[num_splits - 1] >= 0.85 * max_efficiency) { + // printf("num_splits chosen = %d\n", num_splits); + return num_splits; + } + } + return 1; +} + +int set_params_splitkv(const int batch_size, const int num_heads, const int head_size, const int max_seqlen_k, const int max_seqlen_q) { + cudaDeviceProp dprops; + cudaGetDeviceProperties(&dprops, 0); + + // This needs to match with run_mha_fwd_splitkv_dispatch + const int block_n = head_size <= 64 ? 256 : (head_size <= 128 ? 128 : 64); + const int num_n_blocks = (max_seqlen_k + block_n - 1) / block_n; + // Technically kBlockM = 64 only for the splitKV kernels, not the standard kernel. + // In any case we don't expect seqlen_q to be larger than 64 for inference. + const int num_m_blocks = (max_seqlen_q + 64 - 1) / 64; + + // We multiply number of SMs by 2 to hard-code the fact that we're using 128 threads per block. + int num_splits = num_splits_heuristic(batch_size * num_heads * num_m_blocks, dprops.multiProcessorCount * 2, num_n_blocks, 128); + + return num_splits; +} + +void mha_fwd_stage1( + bool is_bf16, + int batch_size, + int seqlen_q, + int seqlen_k, + int seqlen_c, + int num_heads, + int num_heads_k, + int head_size, + void* q, // batch_size x seqlen_q x num_heads x head_size + void* kcache, // batch_size x seqlen_k x num_heads_k x head_size + void* vcache, // batch_size x seqlen_k x num_heads_k x head_size + int* seqlens_k, // batch_size + void* p, // batch_size x seqlen_q x seqlen_k + const float softmax_scale, + bool is_causal, + int window_size_left, + int window_size_right, + const float softcap, + cudaStream_t stream, + int& q_round, + int& k_round +) { + // causal=true is the same as causal=false in this case + if (seqlen_q == 1) { is_causal = false; } + if (is_causal) { window_size_right = 0; } + + seqlen_q *= 16; + num_heads /= 16; + + if (window_size_left >= seqlen_k) { window_size_left = -1; } + if (window_size_right >= seqlen_k) { window_size_right = -1; } + + auto round_multiple = [](int x, int m) { return (x + m - 1) / m * m; }; + const int head_size_rounded = head_size <= 192 ? round_multiple(head_size, 32) : 256; + const int seqlen_q_rounded = round_multiple(seqlen_q, 128); + const int seqlen_k_rounded = round_multiple(seqlen_k, 128); + + q_round = seqlen_q_rounded / 16; + k_round = seqlen_k_rounded; + + Flash_fwd_params params; + set_params_fprop(params, + is_bf16, + batch_size, + seqlen_q, seqlen_k, + seqlen_q_rounded, seqlen_k_rounded, + num_heads, num_heads_k, + head_size, head_size_rounded, + q, kcache, vcache, nullptr, + /*cu_seqlens_q_d=*/nullptr, + /*cu_seqlens_k_d=*/nullptr, + /*seqused_k=*/nullptr, + /*p_ptr=*/p, + /*softmax_lse=*/nullptr, + /*p_dropout=*/0.f, + softmax_scale, + window_size_left, + window_size_right, + softcap + ); + + params.blockmask = nullptr; + params.block_window_size = 0; + params.m_block_dim = 16; + params.n_block_dim = 1; + + params.seqlen_c = seqlen_c; + + params.mask_2d = nullptr; + params.mask_q_range = 0; + params.mask_k_range = 0; + + params.rotary_dim = 0; + + params.page_block_size = 1; + + params.alibi_slopes_ptr = nullptr; + + if (seqlens_k != nullptr) { + params.cu_seqlens_k = seqlens_k; + params.is_seqlens_k_cumulative = false; + } + params.num_splits = 1; + + run_mha_fwd(params, stream, true); +} + +void mha_fwd_kvcache( + bool is_bf16, + int batch_size, + int seqlen_q, + int seqlen_k, + int num_heads, + int num_heads_k, + int head_size, + void* q, // batch_size x seqlen_q x num_heads x head_size + void* kcache, // batch_size x seqlen_k x num_heads_k x head_size + void* vcache, // batch_size x seqlen_k x num_heads_k x head_size + int* seqlens_k, // batch_size + const Mask& mask, // batch_size x seqlen_q x seqlen_k_range + void* out, // batch_size x seqlen_q x num_heads x head_size + float* softmax_lse, // batch_size x num_heads x seqlen_q + float* softmax_lse_accum, // num_splits x batch_size x num_heads x seqlen_q + float* oaccum, // num_splits x batch_size x num_heads x seqlen_q x head_size + const float softmax_scale, + bool is_causal, + int window_size_left, + int window_size_right, + const float softcap, + cudaStream_t stream, + uint64_t* blockmask = nullptr, + int block_window_size = 0 +) { + // causal=true is the same as causal=false in this case + if (seqlen_q == 1) { is_causal = false; } + if (is_causal) { window_size_right = 0; } + + if (blockmask != nullptr) { // TODO improve this + // if (blockmask != nullptr || block_window_size > 0) { + seqlen_q *= 16; + num_heads /= 16; + } + + if (window_size_left >= seqlen_k) { window_size_left = -1; } + if (window_size_right >= seqlen_k) { window_size_right = -1; } + + auto round_multiple = [](int x, int m) { return (x + m - 1) / m * m; }; + const int head_size_rounded = head_size <= 192 ? round_multiple(head_size, 32) : 256; + const int seqlen_q_rounded = round_multiple(seqlen_q, 128); + const int seqlen_k_rounded = round_multiple(seqlen_k, 128); + + Flash_fwd_params params; + set_params_fprop(params, + is_bf16, + batch_size, + seqlen_q, seqlen_k, + seqlen_q_rounded, seqlen_k_rounded, + num_heads, num_heads_k, + head_size, head_size_rounded, + q, kcache, vcache, out, + /*cu_seqlens_q_d=*/nullptr, + /*cu_seqlens_k_d=*/nullptr, + /*seqused_k=*/nullptr, + /*p_ptr=*/nullptr, + (void*)softmax_lse, + /*p_dropout=*/0.f, + softmax_scale, + window_size_left, + window_size_right, + softcap + ); + + params.blockmask = blockmask; + if (blockmask != nullptr) { // TODO improve this + // if (blockmask != nullptr || block_window_size > 0) { + params.m_block_dim = 16; + params.n_block_dim = 64; + params.num_blocks_m = (seqlen_q + 16 - 1) / 16; + params.num_blocks_n = (seqlen_k + 64 - 1) / 64; + } else { + params.m_block_dim = 1; + params.n_block_dim = 1; + } + params.block_window_size = block_window_size; + + params.mask_2d = mask.ptr; + params.mask_q_range = mask.mask_q_range; + params.mask_k_range = mask.mask_k_range; + + params.rotary_dim = 0; + + params.softmax_lseaccum_ptr = (void*)softmax_lse_accum; + params.oaccum_ptr = (void*)oaccum; + + params.page_block_size = 1; + + params.alibi_slopes_ptr = nullptr; + + if (seqlens_k != nullptr) { + params.cu_seqlens_k = seqlens_k; + params.is_seqlens_k_cumulative = false; + params.num_splits = 16; + } else { + params.num_splits = 1; + } + + run_mha_fwd(params, stream, true); +} \ No newline at end of file diff --git a/examples/CPM.cu/src/flash_attn/src/alibi.h b/examples/CPM.cu/src/flash_attn/src/alibi.h new file mode 100644 index 00000000..e714233e --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/alibi.h @@ -0,0 +1,74 @@ +#include <cmath> + +#include <cute/tensor.hpp> + +#include <cutlass/cutlass.h> +#include <cutlass/array.h> + +#include "utils.h" + +namespace flash { + +using namespace cute; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <bool Is_causal> +struct Alibi { + + const float alibi_slope; + const int max_seqlen_k, max_seqlen_q; + + __forceinline__ __device__ Alibi(const float alibi_slope, const int max_seqlen_k, const int max_seqlen_q) + : alibi_slope(alibi_slope) + , max_seqlen_k(max_seqlen_k) + , max_seqlen_q(max_seqlen_q) { + }; + + + template <typename Engine, typename Layout> + __forceinline__ __device__ void apply_alibi(Tensor<Engine, Layout> &tensor, + const int col_idx_offset_, + const int row_idx_offset, + const int warp_row_stride) { + // tensor has shape (nrow=(2, MMA_M), ncol=(2, MMA_N)) + static_assert(Layout::rank == 2, "Only support 2D Tensor"); + const int lane_id = threadIdx.x % 32; + const int col_idx_offset = col_idx_offset_ + (lane_id % 4) * 2; + if constexpr (Is_causal) { // Simpler, we add the same bias vector to all rows + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + tensor(mi, make_coord(j, nj)) += alibi_slope * col_idx; + } + } + } + } else { // Bias depends on both row_idx and col_idx + #pragma unroll + for (int mi = 0; mi < size<0, 1>(tensor); ++mi) { + const int row_idx_base = row_idx_offset + mi * warp_row_stride; + #pragma unroll + for (int i = 0; i < size<0, 0>(tensor); ++i) { + const int row_idx = row_idx_base + i * 8; + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + tensor(make_coord(i, mi), make_coord(j, nj)) -= alibi_slope * abs(row_idx + max_seqlen_k - max_seqlen_q - col_idx); + } + } + } + } + } + } + +}; + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/block_info.h b/examples/CPM.cu/src/flash_attn/src/block_info.h new file mode 100644 index 00000000..a33811a0 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/block_info.h @@ -0,0 +1,54 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +namespace flash { + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<bool Varlen=true> +struct BlockInfo { + + template<typename Params> + __device__ BlockInfo(const Params ¶ms, const int bidb) + : sum_s_q(!Varlen || params.cu_seqlens_q == nullptr ? -1 : params.cu_seqlens_q[bidb]) + , sum_s_k(!Varlen || params.cu_seqlens_k == nullptr || !params.is_seqlens_k_cumulative ? -1 : params.cu_seqlens_k[bidb]) + , actual_seqlen_q(!Varlen || params.cu_seqlens_q == nullptr ? params.seqlen_q : params.cu_seqlens_q[bidb + 1] - sum_s_q) + // If is_seqlens_k_cumulative, then seqlen_k is cu_seqlens_k[bidb + 1] - cu_seqlens_k[bidb]. + // Otherwise it's cu_seqlens_k[bidb], i.e., we use cu_seqlens_k to store the sequence lengths of K. + , leftpad_k(params.leftpad_k == nullptr ? 0 : params.leftpad_k[bidb]) + , seqlen_k_cache((!Varlen || params.cu_seqlens_k == nullptr ? params.seqlen_k : (params.is_seqlens_k_cumulative ? params.cu_seqlens_k[bidb + 1] - sum_s_k : params.cu_seqlens_k[bidb])) - leftpad_k) + , actual_seqlen_k(params.seqused_k ? params.seqused_k[bidb] - leftpad_k : seqlen_k_cache + (params.knew_ptr == nullptr ? 0 : params.seqlen_knew)) + { + } + + template <typename index_t> + __forceinline__ __device__ index_t q_offset(const index_t batch_stride, const index_t row_stride, const int bidb) const { + return sum_s_q == -1 ? bidb * batch_stride : uint32_t(sum_s_q) * row_stride; + } + + template <typename index_t> + __forceinline__ __device__ index_t k_offset(const index_t batch_stride, const index_t row_stride, const int bidb) const { + return sum_s_k == -1 ? bidb * batch_stride + leftpad_k * row_stride : uint32_t(sum_s_k + leftpad_k) * row_stride; + } + + + template <typename index_t> + inline __device__ index_t blockmask_q_offset(const index_t m_block_dim, const int bidb) const { + return sum_s_q == -1 ? bidb * (actual_seqlen_q / m_block_dim) : uint32_t(sum_s_q) / m_block_dim; + } + + const int sum_s_q; + const int sum_s_k; + const int actual_seqlen_q; + // We have to have seqlen_k_cache declared before actual_seqlen_k, otherwise actual_seqlen_k is set to 0. + const int leftpad_k; + const int seqlen_k_cache; + const int actual_seqlen_k; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/dropout.h b/examples/CPM.cu/src/flash_attn/src/dropout.h new file mode 100644 index 00000000..4882f97d --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/dropout.h @@ -0,0 +1,94 @@ +/****************************************************************************** + * Copyright (c) 2024, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include "philox.cuh" +#include "utils.h" + +namespace flash { + +struct Dropout { + + const unsigned long long seed, offset; + const uint8_t p_dropout_in_uint8_t; + + __forceinline__ __device__ Dropout(const unsigned long long seed, const unsigned long long offset, + const uint8_t p_dropout_in_uint8_t, + const int bid, const int hid, const int tid, const int nheads) + : seed(seed) + , offset(offset + (bid * nheads + hid) * 32 + tid % 32) + , p_dropout_in_uint8_t(p_dropout_in_uint8_t) { + } + + template <bool encode_dropout_in_sign_bit=false, typename Engine, typename Layout> + __forceinline__ __device__ void apply_dropout(Tensor<Engine, Layout> &tensor_, + int block_row_start, int block_col_start, int block_row_stride) { + // convert shape from (4, MMA_M, MMA_N) to (8, MMA_M, MMA_N / 2) + Tensor tensor = make_tensor(tensor_.data(), flash::convert_layout_acc_dropout(tensor_.layout())); + using T = typename Engine::value_type; + auto encode_dropout = [](bool keep, T val) { + return keep ? val : (encode_dropout_in_sign_bit ? -val : T(0)); + }; + static_assert(decltype(size<2>(tensor))::value % 2 == 0); + const uint16_t p_dropout_8bit_in_uint16_t = uint16_t(p_dropout_in_uint8_t); + const uint32_t p_dropout_8bit_in_uint32_t = (uint32_t(p_dropout_8bit_in_uint16_t) << 16) | uint32_t(p_dropout_8bit_in_uint16_t); + // if (cute::thread0()) { printf("threshold2 = 0x%x\n", p_dropout_8bit_in_uint32_t); } + #pragma unroll + for (int m = 0; m < size<1>(tensor); ++m, block_row_start += block_row_stride) { + uint2 rowcol = make_uint2(block_row_start, block_col_start); + #pragma unroll + for (int n = 0; n < size<2>(tensor) / 2; ++n, ++rowcol.y) { + // if (cute::thread(32, 0)) { printf("m = %d, n = %d, row = %d, col = %d\n", m, n, int(rowcol.x), int(rowcol.y));} + uint4 random_uint4 = flash::philox(seed, reinterpret_cast<unsigned long long&>(rowcol), offset); + // if (cute::thread0()) { printf("philox = %u, %d, %d, %d\n", random_uint4.x, random_uint4.y, random_uint4.z, random_uint4.w);} + uint8_t (&rnd_8)[16] = reinterpret_cast<uint8_t (&)[16]>(random_uint4); + // Special implementation for 16-bit types: we duplicate the threshold to the + // low and high 16 bits of a 32-bit value, then use the f16x2 comparison instruction + // to get a mask. The low 16 bits of the mask will be either 0xffff or 0x0000, + // and the high 16 bits will be either 0xffff or 0x0000, depending on whether + // the random value is less than the threshold. + // We then do a bit-wise AND between the mask and the original value (in 32-bit). + // We're exploiting the fact that floating point comparison is equivalent to integer + // comparison, since we're comparing unsigned integers whose top 8-bits are zero. + if (!encode_dropout_in_sign_bit + && (std::is_same<T, cutlass::half_t>::value || std::is_same<T, cutlass::bfloat16_t>::value)) { + uint16_t rnd_16[16]; + #pragma unroll + for (int i = 0; i < 16; i++) { rnd_16[i] = uint16_t(rnd_8[i]); } + uint32_t (&rnd_32)[8] = reinterpret_cast<uint32_t (&)[8]>(rnd_16); + #pragma unroll + for (int j = 0; j < 2; j++) { + Tensor tensor_uint32 = recast<uint32_t>(tensor(_, m, n * 2 + j)); + // if (cute::thread0()) { printf("random = 0x%x, 0x%x, 0x%x, 0x%x\n", rnd_32[j * 4 + 0], rnd_32[j * 4 + 1], rnd_32[j * 4 + 2], rnd_32[j * 4 + 3]); } + // if (cute::thread0()) { printf("tensor_uint32 = 0x%x, 0x%x, 0x%x, 0x%x\n", tensor_uint32(0), tensor_uint32(1), tensor_uint32(2), tensor_uint32(3)); } + #pragma unroll + for (int i = 0; i < 4; i++) { + uint32_t mask; + asm volatile("set.le.u32.f16x2 %0, %1, %2;\n" : "=r"(mask) : "r"(rnd_32[j * 4 + i]), "r"(p_dropout_8bit_in_uint32_t)); + tensor_uint32(i) &= mask; + } + // if (cute::thread0()) { printf("tensor_uint32 = 0x%x, 0x%x, 0x%x, 0x%x\n", tensor_uint32(0), tensor_uint32(1), tensor_uint32(2), tensor_uint32(3)); } + } + } else { + #pragma unroll + for (int j = 0; j < 2; j++) { + #pragma unroll + for (int i = 0; i < 8; i++) { + tensor(i, m, n * 2 + j) = encode_dropout(rnd_8[j * 8 + i] <= p_dropout_in_uint8_t, tensor(i, m, n * 2 + j)); + } + Tensor tensor_uint32 = recast<uint32_t>(tensor(_, m, n * 2 + j)); + // if (cute::thread0()) { printf("tensor_uint32 = 0x%x, 0x%x, 0x%x, 0x%x\n", tensor_uint32(0), tensor_uint32(1), tensor_uint32(2), tensor_uint32(3)); } + } + } + // // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { + // // printf("n = %d, ph Philox: %u, %u, %u, %u\n", n, rnd_8.x, rnd_8.y, rnd_8.z, rnd_8.w); + // // } + } + } + } + +}; + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/flash.h b/examples/CPM.cu/src/flash_attn/src/flash.h new file mode 100644 index 00000000..3943b6a9 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash.h @@ -0,0 +1,193 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include <cuda.h> +#include <vector> + +constexpr int TOTAL_DIM = 0; +constexpr int H_DIM = 1; +constexpr int D_DIM = 2; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +struct Qkv_params { + using index_t = int64_t; + // The QKV matrices. + void *__restrict__ q_ptr; + void *__restrict__ k_ptr; + void *__restrict__ v_ptr; + + // The stride between rows of the Q, K and V matrices. + index_t q_batch_stride; + index_t k_batch_stride; + index_t v_batch_stride; + index_t q_row_stride; + index_t k_row_stride; + index_t v_row_stride; + index_t q_head_stride; + index_t k_head_stride; + index_t v_head_stride; + + // The number of heads. + int h, h_k; + // In the case of multi-query and grouped-query attention (MQA/GQA), nheads_k could be + // different from nheads (query). + int h_h_k_ratio; // precompute h / h_k, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +struct Flash_fwd_params : public Qkv_params { + + // The O matrix (output). + void * __restrict__ o_ptr; + void * __restrict__ oaccum_ptr; + + // The stride between rows of O. + index_t o_batch_stride; + index_t o_row_stride; + index_t o_head_stride; + + // The pointer to the P matrix. + void * __restrict__ p_ptr; + + // The pointer to the softmax sum. + void * __restrict__ softmax_lse_ptr; + void * __restrict__ softmax_lseaccum_ptr; + + // The dimensions. + int b, seqlen_q, seqlen_k, seqlen_knew, d, seqlen_q_rounded, seqlen_k_rounded, d_rounded, rotary_dim, total_q; + int seqlen_c; + + // The scaling factors for the kernel. + float scale_softmax; + float scale_softmax_log2; + + // array of length b+1 holding starting offset of each sequence. + int * __restrict__ cu_seqlens_q; + int * __restrict__ cu_seqlens_k; + int * __restrict__ leftpad_k; + + // If provided, the actual length of each k sequence. + int * __restrict__ seqused_k; + + uint64_t *__restrict__ blockmask; + int m_block_dim, n_block_dim; + int num_blocks_m, num_blocks_n; + int block_window_size; + + // The mask_2d matrix. + uint64_t *__restrict__ mask_2d; + int mask_q_range; + int mask_k_range; + + // The K_new and V_new matrices. + void * __restrict__ knew_ptr; + void * __restrict__ vnew_ptr; + + // The stride between rows of the Q, K and V matrices. + index_t knew_batch_stride; + index_t vnew_batch_stride; + index_t knew_row_stride; + index_t vnew_row_stride; + index_t knew_head_stride; + index_t vnew_head_stride; + + // The cos and sin matrices for rotary embedding. + void * __restrict__ rotary_cos_ptr; + void * __restrict__ rotary_sin_ptr; + + // The indices to index into the KV cache. + int * __restrict__ cache_batch_idx; + + // Paged KV cache + int * __restrict__ block_table; + index_t block_table_batch_stride; + int page_block_size; + + // The dropout probability (probability of keeping an activation). + float p_dropout; + // uint32_t p_dropout_in_uint; + // uint16_t p_dropout_in_uint16_t; + uint8_t p_dropout_in_uint8_t; + + // Scale factor of 1 / (1 - p_dropout). + float rp_dropout; + float scale_softmax_rp_dropout; + + // Local window size + int window_size_left, window_size_right; + float softcap; + + // Pointer to the RNG seed (idx 0) and offset (idx 1). + uint64_t * rng_state; + + bool is_bf16; + bool is_causal; + + // If is_seqlens_k_cumulative, then seqlen_k is cu_seqlens_k[bidb + 1] - cu_seqlens_k[bidb]. + // Otherwise it's cu_seqlens_k[bidb], i.e., we use cu_seqlens_k to store the sequence lengths of K. + bool is_seqlens_k_cumulative; + + bool is_rotary_interleaved; + + int num_splits; // For split-KV version + + void * __restrict__ alibi_slopes_ptr; + index_t alibi_slopes_batch_stride; + + bool unpadded_lse; // For varlen paths: LSE is in [nheads, total_seqlen_q] format instead of [b, nheads, seqlen_q]. + bool seqlenq_ngroups_swapped; // q has been transposed from (b, 1, (nheads_kv ngroups), d) to (b, ngroups, nheads_kv, d). +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +struct Flash_bwd_params : public Flash_fwd_params { + + // The dO and dQKV matrices. + void *__restrict__ do_ptr; + void *__restrict__ dq_ptr; + void *__restrict__ dk_ptr; + void *__restrict__ dv_ptr; + + // To accumulate dQ + void *__restrict__ dq_accum_ptr; + void *__restrict__ dk_accum_ptr; + void *__restrict__ dv_accum_ptr; + + // // To accumulate dK and dV in case we're splitting the bwd along seqlen_q + // dimension void *__restrict__ dk_accum_ptr; void *__restrict__ + // dv_accum_ptr; + + // The stride between rows of the dO, dQ, dK and dV matrices. + // TD [2022-04-16]: We're using 32-bit indexing to save registers. + // The code probably won't work for arrays larger than 2GB. + index_t do_batch_stride; + index_t do_row_stride; + index_t do_head_stride; + index_t dq_batch_stride; + index_t dk_batch_stride; + index_t dv_batch_stride; + index_t dq_row_stride; + index_t dk_row_stride; + index_t dv_row_stride; + index_t dq_head_stride; + index_t dk_head_stride; + index_t dv_head_stride; + + // The pointer to the softmax d sum. + void *__restrict__ dsoftmax_sum; + + bool deterministic; + index_t dq_accum_split_stride; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename T, int Headdim, bool Is_causal> void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream); +template<typename T, int Headdim, bool Is_causal> void run_mha_fwd_splitkv_dispatch(Flash_fwd_params ¶ms, cudaStream_t stream); + +template<typename T, int Headdim, bool Is_causal> void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_blockmask.h b/examples/CPM.cu/src/flash_attn/src/flash_blockmask.h new file mode 100644 index 00000000..fe1782c3 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_blockmask.h @@ -0,0 +1,108 @@ +#pragma once + +namespace flash { + +class fwdIterator{ + public: + template<typename Params, typename BlockInfo> + __device__ fwdIterator(const Params ¶ms, const BlockInfo &binfo, const int kBlockM, const int kBlockN, const int batch_idx, const int head_idx, const int loop_step_idx, int n_block_min, int n_block_max) {//row first + this->cache_seqlen_k = binfo.actual_seqlen_k - binfo.actual_seqlen_q / params.m_block_dim; + this->max_block_idx = cute::ceil_div(binfo.actual_seqlen_k, kBlockN); + this->n_block_min = n_block_min; + this->n_block_max = n_block_max; + this->batch_idx = batch_idx; // Store batch_idx for debugging + this->head_idx = head_idx; + + const int q_block_idx = loop_step_idx + cache_seqlen_k; + if (params.blockmask != nullptr) { + // Calculate the offset for the uint64 blockmask + const int num_blocks_m = params.num_blocks_m; + const int num_blocks_n = params.num_blocks_n; + const int uint64_per_row = (num_blocks_n + 64 - 1) / 64; + const int row_offset = params.cu_seqlens_q != nullptr ? binfo.blockmask_q_offset(params.m_block_dim, batch_idx) : batch_idx * params.h_k * params.num_blocks_m; + + blockmask_ptr = params.blockmask + + head_idx * params.num_blocks_m * uint64_per_row + + row_offset * uint64_per_row + + loop_step_idx * uint64_per_row; + + this->k_window_left = params.block_window_size > 0 ? (q_block_idx + kBlockN - 1) / kBlockN - params.block_window_size : 2147483647; + } else { + blockmask_ptr = nullptr; + this->k_window_left = params.block_window_size > 0 ? (q_block_idx + kBlockN - 1) / kBlockN - params.block_window_size / kBlockN : -1; + } + } + + __device__ int _max_no_larger(int target) const { + if(max_block_idx == 0){ + return -1; + }; + if (target < 0) return -1; + + if (blockmask_ptr == nullptr) { + if (k_window_left <= target) return target; // sliding window + return -1; + } + + if (k_window_left <= target) { + return target; + } + + // 目标值不能超过最大块索引 + target = min(target, max_block_idx - 1); + + // 计算相对于当前q_bit_position的实际位置 + int target_bit_pos = target; + + // 确定此块在哪个uint64中 + int uint64_offset = target_bit_pos / 64; + + // 确定此块在uint64中的哪一位 + int bit_pos = target_bit_pos % 64; + + // 创建一个掩码,保留target及更低位的所有位 + uint64_t mask = bit_pos != 63 ? (1ULL << (bit_pos + 1)) - 1 : 0xFFFFFFFFFFFFFFFFULL; + + // 检查当前uint64中target及以下的位 + uint64_t value = blockmask_ptr[uint64_offset] & mask; + + // 如果当前uint64中有设置的位 + if (value != 0) { + // 找到最高位的1(即不大于target的最大设置位) + int highest_bit = 63 - __clzll(value); // __clzll计算前导0的数量 + int result = highest_bit + (uint64_offset * 64); + return result; + } + + // 如果当前uint64中没有找到,检查更低的uint64块 + for (int i = uint64_offset - 1; i >= 0; i--) { + value = blockmask_ptr[i]; + if (value != 0) { + // 找到最高位的1 + int highest_bit = 63 - __clzll(value); + // 计算相对于q_bit_position的偏移 + int result = highest_bit + (i * 64); + return result; + } + } + + // 没有找到设置位 + return -1; + } + + __device__ int max_no_larger(int target) const { + int res = _max_no_larger(target); + return res < this->n_block_min ? -1 : res; + } + + uint64_t *blockmask_ptr; + int row_offset; // 行偏移量 + int uint64_per_row; // 每行使用的uint64数量 + int cache_seqlen_k; + int max_block_idx; + int n_block_min, n_block_max; + int batch_idx, head_idx; + int k_window_left; +}; + +} // namespace flash \ No newline at end of file diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_causal_sm80.cu new file mode 100644 index 00000000..9383c102 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 128, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim128<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu new file mode 100644 index 00000000..f03abda4 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 128, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim128<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_causal_sm80.cu new file mode 100644 index 00000000..c616628c --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 128, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim128<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu new file mode 100644 index 00000000..4ff6b9fb --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 128, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim128<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_causal_sm80.cu new file mode 100644 index 00000000..d6d4371b --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 160, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim160<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu new file mode 100644 index 00000000..5af68ac3 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 160, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim160<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_causal_sm80.cu new file mode 100644 index 00000000..1ef511a6 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 160, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim160<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu new file mode 100644 index 00000000..96abfbd8 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 160, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim160<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_causal_sm80.cu new file mode 100644 index 00000000..077d25d0 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 192, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim192<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu new file mode 100644 index 00000000..ea5f265f --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 192, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim192<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_causal_sm80.cu new file mode 100644 index 00000000..a4a7bc24 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 192, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim192<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu new file mode 100644 index 00000000..c30c4a14 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 192, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim192<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_causal_sm80.cu new file mode 100644 index 00000000..a12a5f4a --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 224, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim224<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu new file mode 100644 index 00000000..8690bdb1 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 224, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim224<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_causal_sm80.cu new file mode 100644 index 00000000..f01dad09 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 224, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim224<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu new file mode 100644 index 00000000..7ec1e16b --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 224, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim224<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_causal_sm80.cu new file mode 100644 index 00000000..f84e978c --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 256, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim256<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu new file mode 100644 index 00000000..c52f0417 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 256, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim256<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_causal_sm80.cu new file mode 100644 index 00000000..f96f7edc --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 256, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim256<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu new file mode 100644 index 00000000..9c7c6b93 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 256, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim256<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_causal_sm80.cu new file mode 100644 index 00000000..e21d0408 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 32, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim32<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu new file mode 100644 index 00000000..f377a5b8 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 32, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim32<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_causal_sm80.cu new file mode 100644 index 00000000..74e4d66a --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 32, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim32<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu new file mode 100644 index 00000000..e85db18e --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 32, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim32<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_causal_sm80.cu new file mode 100644 index 00000000..9297e8bb --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 64, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim64<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu new file mode 100644 index 00000000..8364b1e7 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 64, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim64<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_causal_sm80.cu new file mode 100644 index 00000000..1c6ed7ef --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 64, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim64<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu new file mode 100644 index 00000000..3c87573b --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 64, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim64<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_causal_sm80.cu new file mode 100644 index 00000000..49fae856 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 96, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim96<cutlass::bfloat16_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu new file mode 100644 index 00000000..c5af1cf6 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::bfloat16_t, 96, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim96<cutlass::bfloat16_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_causal_sm80.cu new file mode 100644 index 00000000..b0d6c992 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_causal_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 96, true>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim96<cutlass::half_t, true>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu new file mode 100644 index 00000000..c97aa33f --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<cutlass::half_t, 96, false>(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim96<cutlass::half_t, false>(params, stream); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_kernel.h b/examples/CPM.cu/src/flash_attn/src/flash_fwd_kernel.h new file mode 100644 index 00000000..a1ad2adc --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_kernel.h @@ -0,0 +1,2503 @@ +/****************************************************************************** + * Copyright (c) 2024, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include <cute/tensor.hpp> + +#include <cutlass/cutlass.h> +#include <cutlass/array.h> +#include <cutlass/numeric_types.h> + +#include "block_info.h" +#include "kernel_traits.h" +#include "utils.h" +#include "softmax.h" +#include "mask.h" +#include "dropout.h" +#include "rotary.h" +#include "flash_blockmask.h" + +namespace flash { + +using namespace cute; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +__forceinline__ __device__ float minusinf_to_zero(float &input) { + if (input == -INFINITY) { + return 0; + } else { + return input; + } +} + +template<int thr_offset, typename Engine0, typename Layout0, typename Operator> +__forceinline__ __device__ void thread_element_wise_reduce_(Tensor<Engine0, Layout0> &tensor, Operator &op) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); mi++) { + #pragma unroll + for (int ni = 0; ni < size<1>(tensor); ni++) { + tensor(mi, ni) = op( + minusinf_to_zero(tensor(mi, ni)), + __shfl_xor_sync(uint32_t(-1), minusinf_to_zero(tensor(mi, ni)), thr_offset) + ); + } + } +} + +template <typename Element, typename E1, typename L1, typename E2, typename L2> +__forceinline__ __device__ void hdim16_reduce( + Tensor<E1, L1> &acc_S, + Tensor<E2, L2> &g_Sh, + const int col_idx_offset_, + const int row_idx_offset_, + const int warp_row_stride) { + + // Reshape tensor_ from (MMA=4, MMA_M, MMA_N) (or (_2,_2),_2,_16) for D=32) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + auto tensor = make_tensor(acc_S.data(), flash::convert_layout_acc_rowcol(acc_S.layout())); + const int warp_id = threadIdx.x / 32; + const int lane_id = threadIdx.x % 32; + // const int col_idx_offset = col_idx_offset_ + (lane_id % 4) * 2; + // const int row_idx_offset = row_idx_offset_ + warp_id * 16 + lane_id / 4; + const int col_idx_offset = 0 + (lane_id % 4) * 2; + const int row_idx_offset = 0 + warp_id * 16 + lane_id / 4; + + // step 1: 线程内部求和 (v0 + v2) + using TensorT = decltype(make_tensor<float>(Shape< Int<size<0, 1>(tensor)>, Int<size<1>(tensor)> >{})); + TensorT v02; + clear(v02); + #pragma unroll + for (int mi = 0; mi < size<0, 1>(tensor); ++mi) { + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx_v02 = j * size<1, 1>(tensor) + nj; + const float v0 = minusinf_to_zero(tensor(make_coord(0, mi), make_coord(j, nj))); + const float v2 = minusinf_to_zero(tensor(make_coord(1, mi), make_coord(j, nj))); + v02(mi, col_idx_v02) = v0 + v2; + } + } + } + + // step 2: warp 内部蝶形求和 + SumOp<float> sum_op; + thread_element_wise_reduce_<16>(v02, sum_op); + thread_element_wise_reduce_<8> (v02, sum_op); + thread_element_wise_reduce_<4> (v02, sum_op); + + // step 3: copy 到 global mem + cutlass::NumericConverter<Element, float> converter; + if (lane_id < 4) { + #pragma unroll + for (int mi = 0; mi < size<0, 1>(tensor); ++mi) { + const int row_idx_base = row_idx_offset + mi * warp_row_stride; + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + const int col_idx_v02 = j * size<1, 1>(tensor) + nj; + g_Sh(row_idx_base/16, col_idx) = converter(v02(mi, col_idx_v02)); // ignore /16 since it's too slow + } + } + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename ElementAccum, typename Params, int kBlockM, bool Is_even_MN> +__forceinline__ __device__ auto get_lse_tile(const Params ¶ms, const int bidb, const int bidh, const int m_block, const BlockInfo</*Varlen=*/!Is_even_MN> &binfo) { + // When params.unpadded_lse is false, LSE is written as (b, h, seqlen_q) - this is non-variable seqlen path. + // Otherwise, when params.seqlenq_ngroups_swapped is true, it is written as (h, seqlen_q, b) to account for seqlen_q <-> h swapping trick. + // Otherwise, it's written as (h, b, seqlen_q). + const bool varlen_q = params.unpadded_lse && !params.seqlenq_ngroups_swapped; + auto lse_offset = varlen_q ? binfo.q_offset(params.seqlen_q, 1, bidb) : 0; + auto gmem_ptr_lse = make_gmem_ptr(reinterpret_cast<ElementAccum*>(params.softmax_lse_ptr) + lse_offset); + + auto lse_shape = varlen_q ? make_shape(1, params.h, params.total_q) : make_shape(params.b, params.h, params.seqlen_q); + auto lse_stride = params.seqlenq_ngroups_swapped ? make_stride(1, params.seqlen_q * params.b, params.b) : ( + params.unpadded_lse ? make_stride(params.h * params.total_q, params.total_q, 1) : make_stride(params.h * params.seqlen_q, params.seqlen_q, 1) + ); + + auto lse_layout = make_layout(lse_shape, lse_stride); + Tensor mLSE = make_tensor(gmem_ptr_lse, lse_layout); + auto mLSE_slice = varlen_q ? mLSE(0, bidh, _) : mLSE(bidb, bidh, _); + return local_tile(mLSE_slice, Shape<Int<kBlockM>>{}, make_coord(m_block)); +} + + +template<typename Kernel_traits, bool Is_dropout, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Return_softmax, typename Params> +inline __device__ void compute_attn_1rowblock(const Params ¶ms, const int bidb, const int bidh, const int m_block) { + + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + constexpr int kNWarps = Kernel_traits::kNWarps; + + // do not support dropout + flash::Dropout dropout(0, 0, params.p_dropout_in_uint8_t, + bidb, bidh, tidx, params.h); + + // Save seed and offset for backward, before any early exiting. Otherwise the 0-th thread block might + // exit early and no one saves the rng states. + if (Is_dropout && blockIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0 && tidx == 0) { + params.rng_state[0] = 0; + params.rng_state[1] = 0; + } + + const BlockInfo</*Varlen=*/!Is_even_MN> binfo(params, bidb); + if (m_block * kBlockM >= binfo.actual_seqlen_q) return; + + const int n_block_min = !Is_local ? 0 : std::max(0, (m_block * kBlockM + binfo.actual_seqlen_k - binfo.actual_seqlen_q - params.window_size_left) / kBlockN); + int n_block_max = cute::ceil_div(binfo.actual_seqlen_k, kBlockN); + if (Is_causal || Is_local) { + n_block_max = std::min(n_block_max, + cute::ceil_div((m_block + 1) * kBlockM + binfo.actual_seqlen_k - binfo.actual_seqlen_q + params.window_size_right, kBlockN)); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { + // printf("m_block = %d, n_block_max = %d\n", m_block, n_block_max); + // } + } + // We exit early and write 0 to gO and gLSE. This also covers the case where actual_seqlen_k == 0. + // Otherwise we might read OOB elements from gK and gV. + if ((Is_causal || Is_local || !Is_even_MN) && n_block_max <= n_block_min) { + Tensor mO = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.o_ptr) + + binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb)), + make_shape(binfo.actual_seqlen_q, params.h, params.d), + make_stride(params.o_row_stride, params.o_head_stride, _1{})); + Tensor gO = local_tile(mO(_, bidh, _), Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_coord(m_block, 0)); // (kBlockM, kHeadDim) + + Tensor gLSE = get_lse_tile<ElementAccum, Params, kBlockM, Is_even_MN>(params, bidb, bidh, m_block, binfo); + + typename Kernel_traits::GmemTiledCopyO gmem_tiled_copy_O; + auto gmem_thr_copy_O = gmem_tiled_copy_O.get_thread_slice(tidx); + Tensor tOgO = gmem_thr_copy_O.partition_D(gO); + Tensor tOrO = make_tensor<Element>(shape(tOgO)); + clear(tOrO); + // Construct identity layout for sO + Tensor cO = make_identity_tensor(make_shape(size<0>(gO), size<1>(gO))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + // Repeat the partitioning with identity layouts + Tensor tOcO = gmem_thr_copy_O.partition_D(cO); + Tensor tOpO = make_tensor<bool>(make_shape(size<2>(tOgO))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpO); ++k) { tOpO(k) = get<1>(tOcO(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/false, /*Clear_OOB_K=*/false>( + gmem_tiled_copy_O, tOrO, tOgO, tOcO, tOpO, binfo.actual_seqlen_q - m_block * kBlockM + ); + #pragma unroll + for (int m = 0; m < size<1>(tOgO); ++m) { + const int row = get<0>(tOcO(0, m, 0)); + if (row < binfo.actual_seqlen_q - m_block * kBlockM && get<1>(tOcO(0, m, 0)) == 0) { gLSE(row) = INFINITY; } + } + return; + } + // if (tidx == 0) { printf("m_block = %d, n_block_min = %d, n_block_max = %d\n", m_block, n_block_min, n_block_max); } + + // We iterate over the blocks in reverse order. This is because the last block is the only one + // that needs masking when we read K and V from global memory. Moreover, iterating in reverse + // might save us 1 register (we just need n_block instead of both n_block and n_block_max). + + const index_t row_offset_p = ((bidb * params.h + bidh) * params.seqlen_q_rounded + + m_block * kBlockM) * params.seqlen_k_rounded + (n_block_max - 1) * kBlockN; + + Tensor mQ = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.q_ptr) + + binfo.q_offset(params.q_batch_stride, params.q_row_stride, bidb)), + make_shape(binfo.actual_seqlen_q, params.h, params.d), + make_stride(params.q_row_stride, params.q_head_stride, _1{})); + Tensor gQ = local_tile(mQ(_, bidh, _), Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_coord(m_block, 0)); // (kBlockM, kHeadDim) + Tensor mK = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.k_ptr) + + binfo.k_offset(params.k_batch_stride, params.k_row_stride, bidb)), + make_shape(binfo.actual_seqlen_k, params.h_k, params.d), + make_stride(params.k_row_stride, params.k_head_stride, _1{})); + Tensor gK = local_tile(mK(_, bidh / params.h_h_k_ratio, _), Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_coord(_, 0)); // (kBlockN, kHeadDim, nblocksN) + Tensor mV = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.v_ptr) + + binfo.k_offset(params.v_batch_stride, params.v_row_stride, bidb)), + make_shape(binfo.actual_seqlen_k, params.h_k, params.d), + make_stride(params.v_row_stride, params.v_head_stride, _1{})); + Tensor gV = local_tile(mV(_, bidh / params.h_h_k_ratio, _), Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_coord(_, 0)); // (kBlockN, kHeadDim, nblocksN) + Tensor gP = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.p_ptr) + row_offset_p), + Shape<Int<kBlockM>, Int<kBlockN>>{}, + make_stride(params.seqlen_k_rounded, _1{})); + + Tensor sQ = make_tensor(make_smem_ptr(reinterpret_cast<Element *>(smem_)), + typename Kernel_traits::SmemLayoutQ{}); + // Careful we're using the same smem for sQ and sK | sV if Share_Q_K_smem; + Tensor sK = make_tensor(sQ.data() + (Kernel_traits::Share_Q_K_smem ? 0 : size(sQ)), + typename Kernel_traits::SmemLayoutKV{}); + Tensor sV = make_tensor(sK.data() + size(sK), typename Kernel_traits::SmemLayoutKV{}); + Tensor sVt = make_tensor(sV.data(), typename Kernel_traits::SmemLayoutVtransposed{}); + Tensor sVtNoSwizzle = make_tensor(sV.data().get(), typename Kernel_traits::SmemLayoutVtransposedNoSwizzle{}); + + typename Kernel_traits::GmemTiledCopyQKV gmem_tiled_copy_QKV; + auto gmem_thr_copy_QKV = gmem_tiled_copy_QKV.get_thread_slice(tidx); + + Tensor tQgQ = gmem_thr_copy_QKV.partition_S(gQ); + Tensor tQsQ = gmem_thr_copy_QKV.partition_D(sQ); + Tensor tKgK = gmem_thr_copy_QKV.partition_S(gK); // (KCPY, KCPY_N, KCPY_K, nblocksN) + Tensor tKsK = gmem_thr_copy_QKV.partition_D(sK); + Tensor tVgV = gmem_thr_copy_QKV.partition_S(gV); // (VCPY, VCPY_N, VCPY_K, nblocksN) + Tensor tVsV = gmem_thr_copy_QKV.partition_D(sV); + + typename Kernel_traits::TiledMma tiled_mma; + auto thr_mma = tiled_mma.get_thread_slice(tidx); + Tensor tSrQ = thr_mma.partition_fragment_A(sQ); // (MMA,MMA_M,MMA_K) + Tensor tSrK = thr_mma.partition_fragment_B(sK); // (MMA,MMA_N,MMA_K) + Tensor tOrVt = thr_mma.partition_fragment_B(sVtNoSwizzle); // (MMA, MMA_K,MMA_N) + + Tensor tSgS = thr_mma.partition_C(gP); + + Tensor acc_o = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kHeadDim>>{}); // MMA, MMA_M, MMA_K + + // + // Copy Atom retiling + // + + auto smem_tiled_copy_Q = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_Q = smem_tiled_copy_Q.get_thread_slice(tidx); + // if (cute::thread0()) {smem_thr_copy_Q.print_all();} + Tensor tSsQ = smem_thr_copy_Q.partition_S(sQ); + // if (cute::thread0()) {print(tSsQ.layout()); printf("\n");} + + auto smem_tiled_copy_K = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_K = smem_tiled_copy_K.get_thread_slice(tidx); + Tensor tSsK = smem_thr_copy_K.partition_S(sK); + + auto smem_tiled_copy_V = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma); + auto smem_thr_copy_V = smem_tiled_copy_V.get_thread_slice(tidx); + Tensor tOsVt = smem_thr_copy_V.partition_S(sVt); + + // + // PREDICATES + // + + // // Allocate predicate tensors for m and n + // Tensor tQpQ = make_tensor<bool>(make_shape(size<1>(tQsQ), size<2>(tQsQ)), Stride<_1,_0>{}); + // Tensor tKVpKV = make_tensor<bool>(make_shape(size<1>(tKsK), size<2>(tKsK)), Stride<_1,_0>{}); + + // Construct identity layout for sQ and sK + Tensor cQ = make_identity_tensor(make_shape(size<0>(sQ), size<1>(sQ))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor cKV = make_identity_tensor(make_shape(size<0>(sK), size<1>(sK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + // Tensor tScQ = thr_mma.partition_A(cQ); // (MMA,MMA_M,MMA_K) + // if (cute::thread0()) { + // print(tScQ.layout()); printf("\n"); + // for (int i = 0; i < size(tScQ); ++i) { + // printf("%d ", get<0>(tScQ(i))); + // } + // printf("\n"); + // for (int i = 0; i < size(tScQ); ++i) { + // printf("%d ", get<1>(tScQ(i))); + // } + // printf("\n"); + // } + + // Repeat the partitioning with identity layouts + Tensor tQcQ = gmem_thr_copy_QKV.partition_S(cQ); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tKVcKV = gmem_thr_copy_QKV.partition_S(cKV); // (BCPY,BCPY_N,BCPY_K) -> (blk_n,blk_k) + + // Allocate predicate tensors for k + Tensor tQpQ = make_tensor<bool>(make_shape(size<2>(tQsQ))); + Tensor tKVpKV = make_tensor<bool>(make_shape(size<2>(tKsK))); + + // Set predicates for k bounds + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tQpQ); ++k) { tQpQ(k) = get<1>(tQcQ(0, 0, k)) < params.d; } + #pragma unroll + for (int k = 0; k < size(tKVpKV); ++k) { tKVpKV(k) = get<1>(tKVcKV(0, 0, k)) < params.d; } + } + + // Prologue + + // We don't need to clear the sQ smem tiles since we'll only write out the valid outputs + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ, + binfo.actual_seqlen_q - m_block * kBlockM); + if (Kernel_traits::Is_Q_in_regs) { cute::cp_async_fence(); } + + // // if (cute::thread(1, 0)) { print(tQsQ); } + // // Tensor sQNoSwizzle = make_tensor(make_smem_ptr(reinterpret_cast<Element *>(smem_)), typename Kernel_traits::SmemLayoutQNoSwizzle{}); + // // if (cute::thread0()) { print(sQNoSwizzle); } + + if (Kernel_traits::Share_Q_K_smem) { + flash::cp_async_wait<0>(); + __syncthreads(); + Tensor tSrQ_copy_view = smem_thr_copy_Q.retile_D(tSrQ); + CUTE_STATIC_ASSERT_V(size<1>(tSsQ) == size<1>(tSrQ_copy_view)); // M + cute::copy(smem_tiled_copy_Q, tSsQ, tSrQ_copy_view); + __syncthreads(); + } + + int n_block = n_block_max - 1; + // We don't need to clear the sK smem tiles since we'll mask out the scores anyway. + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tKgK(_, _, _, n_block), tKsK, tKVcKV, tKVpKV, + binfo.actual_seqlen_k - n_block * kBlockN); + cute::cp_async_fence(); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z < 2) { print(tKgK); } + // __syncthreads(); + + if (Kernel_traits::Is_Q_in_regs && !Kernel_traits::Share_Q_K_smem) { + flash::cp_async_wait<1>(); + __syncthreads(); + Tensor tSrQ_copy_view = smem_thr_copy_Q.retile_D(tSrQ); + CUTE_STATIC_ASSERT_V(size<1>(tSsQ) == size<1>(tSrQ_copy_view)); // M + cute::copy(smem_tiled_copy_Q, tSsQ, tSrQ_copy_view); + } + + clear(acc_o); + + flash::Softmax<2 * size<1>(acc_o)> softmax; + + const float alibi_slope = !Has_alibi || params.alibi_slopes_ptr == nullptr ? 0.0f : reinterpret_cast<float *>(params.alibi_slopes_ptr)[bidb * params.alibi_slopes_batch_stride + bidh] / params.scale_softmax; + flash::Mask<Is_causal, Is_local, Has_alibi, /*Mask_2d=*/false> mask(binfo.actual_seqlen_k, binfo.actual_seqlen_q, params.window_size_left, params.window_size_right, alibi_slope); + + // For performance reason, we separate out two kinds of iterations: + // those that need masking on S, and those that don't. + // We need masking on S for the very last block when K and V has length not multiple of kBlockN. + // We also need masking on S if it's causal, for the last ceil_div(kBlockM, kBlockN) blocks. + // We will have at least 1 "masking" iteration. + + // If not even_N, then seqlen_k might end in the middle of a block. In that case we need to + // mask 2 blocks (e.g. when kBlockM == kBlockN), not just 1. + constexpr int n_masking_steps = (!Is_causal && !Is_local) + ? 1 + : ((Is_even_MN && Is_causal) ? cute::ceil_div(kBlockM, kBlockN) : cute::ceil_div(kBlockM, kBlockN) + 1); + #pragma unroll + for (int masking_step = 0; masking_step < n_masking_steps; ++masking_step, --n_block) { + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + // Advance gV + if (masking_step > 0) { + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tVgV(_, _, _, n_block), tVsV, tKVcKV, tKVpKV); + } else { + // Clear the smem tiles to account for predicated off loads + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/true>( + gmem_tiled_copy_QKV, tVgV(_, _, _, n_block), tVsV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + } + cute::cp_async_fence(); + + flash::gemm</*A_in_regs=*/Kernel_traits::Is_Q_in_regs>( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + // if (cute::thread0()) { print(acc_s); } + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + mask.template apply_mask<Is_causal, Is_even_MN>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + + flash::cp_async_wait<0>(); + __syncthreads(); + if (n_block > n_block_min) { + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK(_, _, _, n_block - 1), tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + // TODO: when we have key_padding_mask we'll need to Check_inf + masking_step == 0 + ? softmax.template softmax_rescale_o</*Is_first=*/true, /*Check_inf=*/Is_causal || Is_local>(acc_s, acc_o, params.scale_softmax_log2) + : softmax.template softmax_rescale_o</*Is_first=*/false, /*Check_inf=*/Is_causal || Is_local>(acc_s, acc_o, params.scale_softmax_log2); + + // Convert acc_s from fp32 to fp16/bf16 + Tensor rP = flash::convert_type<Element>(acc_s); + int block_row_idx = m_block * (kBlockM / 16) + tidx / 32; + int block_col_idx = n_block * (kBlockN / 32); + if (Return_softmax) { + Tensor rP_drop = make_fragment_like(rP); + cute::copy(rP, rP_drop); + dropout.template apply_dropout</*encode_dropout_in_sign_bit=*/true>( + rP_drop, block_row_idx, block_col_idx, kNWarps + ); + cute::copy(rP_drop, tSgS); + tSgS.data() = tSgS.data() + (-kBlockN); + } + if (Is_dropout) { + dropout.apply_dropout(rP, block_row_idx, block_col_idx, kNWarps); + } + + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_acc_Aregs<Kernel_traits::TiledMma>(rP.layout())); + // if (cute::thread0()) { print(tOrP); } + flash::gemm_rs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_tiled_copy_V, smem_thr_copy_V); + // if (cute::thread0()) { print(scores); } + + // This check is at the end of the loop since we always have at least 1 iteration + if (n_masking_steps > 1 && n_block <= n_block_min) { + --n_block; + break; + } + } + + // These are the iterations where we don't need masking on S + for (; n_block >= n_block_min; --n_block) { + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tVgV(_, _, _, n_block), tVsV, tKVcKV, tKVpKV); + cute::cp_async_fence(); + + flash::gemm</*A_in_regs=*/Kernel_traits::Is_Q_in_regs>( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + if (n_block > n_block_min) { + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK(_, _, _, n_block - 1), tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + mask.template apply_mask</*Causal_mask=*/false>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + + softmax.template softmax_rescale_o</*Is_first=*/false, /*Check_inf=*/Is_local>(acc_s, acc_o, params.scale_softmax_log2); + + Tensor rP = flash::convert_type<Element>(acc_s); + int block_row_idx = m_block * (kBlockM / 16) + tidx / 32; + int block_col_idx = n_block * (kBlockN / 32); + if (Return_softmax) { + Tensor rP_drop = make_fragment_like(rP); + cute::copy(rP, rP_drop); + dropout.template apply_dropout</*encode_dropout_in_sign_bit=*/true>( + rP_drop, block_row_idx, block_col_idx, kNWarps + ); + cute::copy(rP_drop, tSgS); + tSgS.data() = tSgS.data() + (-kBlockN); + } + if (Is_dropout) { + dropout.apply_dropout(rP, block_row_idx, block_col_idx, kNWarps); + } + + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_acc_Aregs<Kernel_traits::TiledMma>(rP.layout())); + flash::gemm_rs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_tiled_copy_V, smem_thr_copy_V); + } + + // Epilogue + + Tensor lse = softmax.template normalize_softmax_lse<Is_dropout>(acc_o, params.scale_softmax, params.rp_dropout); + + // Convert acc_o from fp32 to fp16/bf16 + Tensor rO = flash::convert_type<Element>(acc_o); + Tensor sO = make_tensor(sQ.data(), typename Kernel_traits::SmemLayoutO{}); // (SMEM_M,SMEM_N) + // Partition sO to match the accumulator partitioning + auto smem_tiled_copy_O = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomO{}, tiled_mma); + auto smem_thr_copy_O = smem_tiled_copy_O.get_thread_slice(tidx); + Tensor taccOrO = smem_thr_copy_O.retile_S(rO); // ((Atom,AtomNum), MMA_M, MMA_N) + Tensor taccOsO = smem_thr_copy_O.partition_D(sO); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + // sO has the same size as sQ, so we don't need to sync here. + if (Kernel_traits::Share_Q_K_smem) { __syncthreads(); } + + cute::copy(smem_tiled_copy_O, taccOrO, taccOsO); + + Tensor mO = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.o_ptr) + + binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb)), + make_shape(binfo.actual_seqlen_q, params.h, params.d), + make_stride(params.o_row_stride, params.o_head_stride, _1{})); + Tensor gO = local_tile(mO(_, bidh, _), Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_coord(m_block, 0)); // (kBlockM, kHeadDim) + Tensor gLSE = get_lse_tile<ElementAccum, Params, kBlockM, Is_even_MN>(params, bidb, bidh, m_block, binfo); + + typename Kernel_traits::GmemTiledCopyO gmem_tiled_copy_O; + auto gmem_thr_copy_O = gmem_tiled_copy_O.get_thread_slice(tidx); + Tensor tOsO = gmem_thr_copy_O.partition_S(sO); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tOgO = gmem_thr_copy_O.partition_D(gO); + + __syncthreads(); + + Tensor tOrO = make_tensor<Element>(shape(tOgO)); + cute::copy(gmem_tiled_copy_O, tOsO, tOrO); + + Tensor caccO = make_identity_tensor(Shape<Int<kBlockM>, Int<kHeadDim>>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor taccOcO = thr_mma.partition_C(caccO); // (MMA,MMA_M,MMA_K) + static_assert(decltype(size<0>(taccOcO))::value == 4); + // Convert to ((2, 2), MMA_M, MMA_K) then take only the row indices. + Tensor taccOcO_row = logical_divide(taccOcO, Shape<_2>{})(make_coord(0, _), _, 0); + CUTE_STATIC_ASSERT_V(size(lse) == size(taccOcO_row)); // MMA_M + if (get<1>(taccOcO_row(0)) == 0) { + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { + const int row = get<0>(taccOcO_row(mi)); + if (row < binfo.actual_seqlen_q - m_block * kBlockM) { gLSE(row) = lse(mi); } + } + } + + // Construct identity layout for sO + Tensor cO = make_identity_tensor(make_shape(size<0>(sO), size<1>(sO))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + // Repeat the partitioning with identity layouts + Tensor tOcO = gmem_thr_copy_O.partition_D(cO); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tOpO = make_tensor<bool>(make_shape(size<2>(tOgO))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpO); ++k) { tOpO(k) = get<1>(tOcO(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/false, /*Clear_OOB_K=*/false>( + gmem_tiled_copy_O, tOrO, tOgO, tOcO, tOpO, binfo.actual_seqlen_q - m_block * kBlockM + ); +} + +template<typename Kernel_traits, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Split, bool Append_KV, typename Params> +inline __device__ void compute_attn_1rowblock_splitkv_headlevel(const Params ¶ms, const int bidb, const int bidh, const int m_block, const int n_split_idx, const int num_n_splits) { + + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + constexpr int kNWarps = Kernel_traits::kNWarps; + + using GmemTiledCopyO = std::conditional_t< + !Split, + typename Kernel_traits::GmemTiledCopyO, + typename Kernel_traits::GmemTiledCopyOaccum + >; + using ElementO = std::conditional_t<!Split, Element, ElementAccum>; + + const BlockInfo</*Varlen=*/!Is_even_MN> binfo(params, bidb); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("Is_even_MN = %d, is_cumulativ = %d, seqlen_k_cache = %d, actual_seqlen_k = %d\n", Is_even_MN, params.is_seqlens_k_cumulative, binfo.seqlen_k_cache, binfo.actual_seqlen_k); } + // if (threadIdx.x == 0 && blockIdx.y == 1 && blockIdx.z == 0) { printf("params.knew_ptr = %p, seqlen_k_cache + seqlen_knew = %d\n", params.knew_ptr, binfo.seqlen_k_cache + (params.knew_ptr == nullptr ? 0 : params.seqlen_knew)); } + if (m_block * kBlockM >= binfo.actual_seqlen_q) return; + + const int n_blocks_per_split = ((params.seqlen_k + kBlockN - 1) / kBlockN + num_n_splits - 1) / num_n_splits; + const int n_block_min = !Is_local + ? n_split_idx * n_blocks_per_split + : std::max(n_split_idx * n_blocks_per_split, (m_block * kBlockM + binfo.actual_seqlen_k - binfo.actual_seqlen_q - params.window_size_left) / kBlockN); + int n_block_max = std::min(cute::ceil_div(binfo.actual_seqlen_k, kBlockN), (n_split_idx + 1) * n_blocks_per_split); + if (Is_causal || Is_local) { + n_block_max = std::min(n_block_max, + cute::ceil_div((m_block + 1) * kBlockM / params.m_block_dim + binfo.actual_seqlen_k - (binfo.actual_seqlen_q / params.m_block_dim) + params.window_size_right, kBlockN)); + } + if (n_block_min >= n_block_max) { // This also covers the case where n_block_max <= 0 + // We exit early and write 0 to gOaccum and -inf to gLSEaccum. + // Otherwise we might read OOB elements from gK and gV, + // or get wrong results when we combine gOaccum from different blocks. + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + m_block * kBlockM * params.o_row_stride + bidh * params.o_head_stride * kBlockM; + const index_t row_offset_oaccum = (((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q + + m_block) * params.d_rounded; + const index_t row_offset_lseaccum = ((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q + m_block; + Tensor gOaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementO *>(Split ? params.oaccum_ptr : params.o_ptr) + (Split ? row_offset_oaccum : row_offset_o)), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Split ? kHeadDim * params.seqlen_q / kBlockM : params.o_head_stride, _1{})); + Tensor gLSEaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(Split ? params.softmax_lseaccum_ptr : params.softmax_lse_ptr) + row_offset_lseaccum), + Shape<Int<kBlockM>>{}, make_stride(params.seqlen_q / kBlockM)); + + GmemTiledCopyO gmem_tiled_copy_Oaccum; + auto gmem_thr_copy_Oaccum = gmem_tiled_copy_Oaccum.get_thread_slice(tidx); + Tensor tOgOaccum = gmem_thr_copy_Oaccum.partition_D(gOaccum); + Tensor tOrOaccum = make_tensor<ElementO>(shape(tOgOaccum)); + clear(tOrOaccum); + // Construct identity layout for sO + Tensor cO = make_identity_tensor(make_shape(size<0>(gOaccum), size<1>(gOaccum))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + // Repeat the partitioning with identity layouts + Tensor tOcO = gmem_thr_copy_Oaccum.partition_D(cO); + Tensor tOpO = make_tensor<bool>(make_shape(size<2>(tOgOaccum))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpO); ++k) { tOpO(k) = get<1>(tOcO(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/false, /*Clear_OOB_K=*/false>( + gmem_tiled_copy_Oaccum, tOrOaccum, tOgOaccum, tOcO, tOpO, binfo.actual_seqlen_q - m_block * kBlockM + ); + #pragma unroll + for (int m = 0; m < size<1>(tOgOaccum); ++m) { + const int row = get<0>(tOcO(0, m, 0)); + if (row < binfo.actual_seqlen_q - m_block * kBlockM && get<1>(tOcO(0, m, 0)) == 0) { gLSEaccum(row) = Split ? -INFINITY : INFINITY; } + } + return; + } + + // We iterate over the blocks in reverse order. This is because the last block is the only one + // that needs masking when we read K and V from global memory. Moreover, iterating in reverse + // might save us 1 register (we just need n_block instead of both n_block and n_block_max). + + // We move K and V to the last block. + const int bidb_cache = params.cache_batch_idx == nullptr ? bidb : params.cache_batch_idx[bidb]; + const int *block_table = params.block_table == nullptr ? nullptr : params.block_table + bidb * params.block_table_batch_stride; + const int block_table_idx = block_table == nullptr ? 0 : (n_block_max - 1) * kBlockN / params.page_block_size; + const int block_table_offset = block_table == nullptr ? 0 : (n_block_max - 1) * kBlockN - block_table_idx * params.page_block_size; + const index_t row_offset_k = block_table == nullptr + ? binfo.k_offset(params.k_batch_stride, params.k_row_stride, bidb_cache) + + (n_block_max - 1) * kBlockN * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride + : block_table[block_table_idx] * params.k_batch_stride + block_table_offset * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride; + const index_t row_offset_v = block_table == nullptr + ? binfo.k_offset(params.v_batch_stride, params.v_row_stride, bidb_cache) + + (n_block_max - 1) * kBlockN * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride + : block_table[block_table_idx] * params.v_batch_stride + block_table_offset * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride; + + Tensor mQ = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.q_ptr) + binfo.q_offset(params.q_batch_stride, params.q_row_stride, bidb)), + make_shape(binfo.actual_seqlen_q / kBlockM, params.h, kBlockM, params.d), + make_stride(params.q_row_stride * kBlockM, params.q_head_stride * kBlockM, params.q_head_stride, _1{})); + Tensor gQ = local_tile(mQ(m_block, bidh, _, _), Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_coord(0, 0)); // (kBlockM, kHeadDim) + Tensor gK = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.k_ptr) + row_offset_k), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.k_row_stride, _1{})); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("k_ptr = %p, row_offset_k = %d, gK_ptr = %p\n", params.k_ptr, row_offset_k, gK.data()); } + Tensor gV = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.v_ptr) + row_offset_v), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.v_row_stride, _1{})); + + Tensor sQ = make_tensor(make_smem_ptr(reinterpret_cast<Element *>(smem_)), + typename Kernel_traits::SmemLayoutQ{}); + Tensor sK = make_tensor(sQ.data() + size(sQ), typename Kernel_traits::SmemLayoutKV{}); + Tensor sV = make_tensor(sK.data() + size(sK), typename Kernel_traits::SmemLayoutKV{}); + Tensor sVt = make_tensor(sV.data(), typename Kernel_traits::SmemLayoutVtransposed{}); + Tensor sVtNoSwizzle = make_tensor(sV.data().get(), typename Kernel_traits::SmemLayoutVtransposedNoSwizzle{}); + + typename Kernel_traits::GmemTiledCopyQKV gmem_tiled_copy_QKV; + auto gmem_thr_copy_QKV = gmem_tiled_copy_QKV.get_thread_slice(tidx); + + Tensor tQgQ = gmem_thr_copy_QKV.partition_S(gQ); + Tensor tQsQ = gmem_thr_copy_QKV.partition_D(sQ); + Tensor tKgK = gmem_thr_copy_QKV.partition_S(gK); // (KCPY, KCPY_N, KCPY_K) + Tensor tKsK = gmem_thr_copy_QKV.partition_D(sK); + Tensor tVgV = gmem_thr_copy_QKV.partition_S(gV); // (VCPY, VCPY_N, VCPY_K) + Tensor tVsV = gmem_thr_copy_QKV.partition_D(sV); + + typename Kernel_traits::TiledMma tiled_mma; + auto thr_mma = tiled_mma.get_thread_slice(tidx); + Tensor tSrQ = thr_mma.partition_fragment_A(sQ); // (MMA,MMA_M,MMA_K) + Tensor tSrK = thr_mma.partition_fragment_B(sK); // (MMA,MMA_N,MMA_K) + Tensor tOrVt = thr_mma.partition_fragment_B(sVtNoSwizzle); // (MMA, MMA_K,MMA_N) + + Tensor acc_o = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kHeadDim>>{}); // MMA, MMA_M, MMA_K + + // + // Copy Atom retiling + // + + auto smem_tiled_copy_Q = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_Q = smem_tiled_copy_Q.get_thread_slice(tidx); + Tensor tSsQ = smem_thr_copy_Q.partition_S(sQ); + + auto smem_tiled_copy_K = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_K = smem_tiled_copy_K.get_thread_slice(tidx); + Tensor tSsK = smem_thr_copy_K.partition_S(sK); + + auto smem_tiled_copy_V = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma); + auto smem_thr_copy_V = smem_tiled_copy_V.get_thread_slice(tidx); + Tensor tOsVt = smem_thr_copy_V.partition_S(sVt); + + // PREDICATES + // + + // // Allocate predicate tensors for m and n + // Tensor tQpQ = make_tensor<bool>(make_shape(size<1>(tQsQ), size<2>(tQsQ)), Stride<_1,_0>{}); + // Tensor tKVpKV = make_tensor<bool>(make_shape(size<1>(tKsK), size<2>(tKsK)), Stride<_1,_0>{}); + + // Construct identity layout for sQ and sK + Tensor cQ = make_identity_tensor(make_shape(size<0>(sQ), size<1>(sQ))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor cKV = make_identity_tensor(make_shape(size<0>(sK), size<1>(sK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + + // Repeat the partitioning with identity layouts + Tensor tQcQ = gmem_thr_copy_QKV.partition_S(cQ); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tKVcKV = gmem_thr_copy_QKV.partition_S(cKV); // (BCPY,BCPY_N,BCPY_K) -> (blk_n,blk_k) + + // Allocate predicate tensors for k + Tensor tQpQ = make_tensor<bool>(make_shape(size<2>(tQsQ))); + Tensor tKVpKV = make_tensor<bool>(make_shape(size<2>(tKsK))); + + // Set predicates for k bounds + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tQpQ); ++k) { tQpQ(k) = get<1>(tQcQ(0, 0, k)) < params.d; } + #pragma unroll + for (int k = 0; k < size(tKVpKV); ++k) { tKVpKV(k) = get<1>(tKVcKV(0, 0, k)) < params.d; } + } + + // Prologue + + // Copy from Knew to K, optionally apply rotary embedding. + typename Kernel_traits::GmemTiledCopyRotcossin gmem_tiled_copy_rotary; + auto gmem_thr_copy_rotary = gmem_tiled_copy_rotary.get_thread_slice(tidx); + typename Kernel_traits::GmemTiledCopyRotcossinCont gmem_tiled_copy_rotary_cont; + auto gmem_thr_copy_rotary_cont = gmem_tiled_copy_rotary_cont.get_thread_slice(tidx); + if constexpr (Append_KV) { + // Even if we have MQA / GQA, all threadblocks responsible for the same KV head are writing to + // gmem. Technically it's a race condition, but they all write the same content anyway, and it's safe. + // We want to do this so that all threadblocks can proceed right after they finish writing the KV cache. + const index_t row_offset_cossin = ((n_block_max - 1) * kBlockN + (params.leftpad_k == nullptr ? 0 : params.leftpad_k[bidb])) * (params.rotary_dim / 2); + Tensor gCos = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim / 2>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor gSin = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim / 2>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor gCosCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor gSinCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor tRgCos = gmem_thr_copy_rotary.partition_S(gCos); + Tensor tRgSin = gmem_thr_copy_rotary.partition_S(gSin); + Tensor tRgCosCont = gmem_thr_copy_rotary_cont.partition_S(gCosCont); + Tensor tRgSinCont = gmem_thr_copy_rotary_cont.partition_S(gSinCont); + // if (cute::thread(0, 0)) { printf("rotary_cos_ptr = %p, gCos.data() = %p, tRgCos.data() = %p, rotary_dim = %d\n", params.rotary_cos_ptr, gCos.data(), tRgCos.data(), params.rotary_dim); } + // if (cute::thread(8, 0)) { print_tensor(gCos); } + // if (cute::thread(0, 0)) { print_tensor(tRgCos); } + + // const index_t row_offset_knew = binfo.k_offset(params.knew_batch_stride, params.knew_row_stride, bidb) + const index_t row_offset_knew = bidb * params.knew_batch_stride + + ((n_block_max - 1) * kBlockN) * params.knew_row_stride + (bidh / params.h_h_k_ratio) * params.knew_head_stride; + // const index_t row_offset_vnew = binfo.k_offset(params.vnew_batch_stride, params.vnew_row_stride, bidb) + const index_t row_offset_vnew = bidb * params.vnew_batch_stride + + ((n_block_max - 1) * kBlockN) * params.vnew_row_stride + (bidh / params.h_h_k_ratio) * params.vnew_head_stride; + // Subtract seqlen_k_cache * row stride so that conceptually gK and gKnew "line up". When we access them, + // e.g. if gK has 128 rows and gKnew has 64 rows, we access gK[:128] and gKNew[128:128 + 64]. + // This maps to accessing the first 64 rows of knew_ptr. + Tensor gKnew = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.knew_ptr) + + row_offset_knew - binfo.seqlen_k_cache * params.knew_row_stride), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.knew_row_stride, _1{})); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("knew_ptr = %p, row_offset_knew = %d, gKnew_ptr = %p\n", params.knew_ptr, row_offset_knew, gKnew.data()); } + Tensor gVnew = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.vnew_ptr) + + row_offset_vnew - binfo.seqlen_k_cache * params.vnew_row_stride), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.vnew_row_stride, _1{})); + Tensor tKgKnew = gmem_thr_copy_QKV.partition_S(gKnew); // (KCPY, KCPY_N, KCPY_K) + Tensor tVgVnew = gmem_thr_copy_QKV.partition_S(gVnew); // (VCPY, VCPY_N, VCPY_K) + + const int n_block_copy_min = std::max(n_block_min, binfo.seqlen_k_cache / kBlockN); + auto tKgK_data = tKgK.data(); + auto tVgV_data = tVgV.data(); + for (int n_block = n_block_max - 1; n_block >= n_block_copy_min; n_block--) { + flash::copy_w_min_idx<Is_even_K>( + tVgVnew, tVgV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN, binfo.seqlen_k_cache - n_block * kBlockN + ); + tVgVnew.data() = tVgVnew.data() + (-int(kBlockN * params.vnew_row_stride)); + if (params.rotary_dim == 0) { + flash::copy_w_min_idx<Is_even_K>( + tKgKnew, tKgK, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN, binfo.seqlen_k_cache - n_block * kBlockN + ); + } else { + if (params.is_rotary_interleaved) { + // Don't clear OOB_K because we're writing to global memory + flash::copy_rotary_interleaved<Is_even_K, /*Clear_OOB_K=*/false>( + tKgKnew, tKgK, tRgCos, tRgSin, tKVcKV, binfo.actual_seqlen_k - n_block * kBlockN, + binfo.seqlen_k_cache - n_block * kBlockN, params.d, params.rotary_dim + ); + tRgCos.data() = tRgCos.data() + (-int(kBlockN * params.rotary_dim / 2)); + tRgSin.data() = tRgSin.data() + (-int(kBlockN * params.rotary_dim / 2)); + } else { + // Don't clear OOB_K because we're writing to global memory + flash::copy_rotary_contiguous<Is_even_K, /*Clear_OOB_K=*/false>( + tKgKnew, tKgK, tRgCosCont, tRgSinCont, tKVcKV, binfo.actual_seqlen_k - n_block * kBlockN, + binfo.seqlen_k_cache - n_block * kBlockN, params.d, params.rotary_dim + ); + tRgCosCont.data() = tRgCosCont.data() + (-int(kBlockN * params.rotary_dim / 2)); + tRgSinCont.data() = tRgSinCont.data() + (-int(kBlockN * params.rotary_dim / 2)); + + } + } + tKgKnew.data() = tKgKnew.data() + (-int(kBlockN * params.knew_row_stride)); + if (block_table == nullptr) { + tVgV.data() = tVgV.data() + (-int(kBlockN * params.v_row_stride)); + tKgK.data() = tKgK.data() + (-int(kBlockN * params.k_row_stride)); + } else { + if (n_block > n_block_copy_min) { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - 1) * kBlockN / params.page_block_size; + const int block_table_offset_next = (n_block - 1) * kBlockN - block_table_idx_next * params.page_block_size; + const int table_diff = block_table[block_table_idx_next] - block_table[block_table_idx_cur]; + const int offset_diff = block_table_offset_next - block_table_offset_cur; + tVgV.data() = tVgV.data() + table_diff * params.v_batch_stride + offset_diff * params.v_row_stride; + tKgK.data() = tKgK.data() + table_diff * params.k_batch_stride + offset_diff * params.k_row_stride; + } + } + } + // Need this before we can read in K again, so that we'll see the updated K values. + __syncthreads(); + tKgK.data() = tKgK_data; + tVgV.data() = tVgV_data; + } + + // Read Q from gmem to smem, optionally apply rotary embedding. + if (!Append_KV || params.rotary_dim == 0) { + // We don't need to clear the sQ smem tiles since we'll only write out the valid outputs + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ, + binfo.actual_seqlen_q - m_block * kBlockM); + } else { + const index_t row_offset_cossin = (binfo.seqlen_k_cache + (params.leftpad_k == nullptr ? 0 : params.leftpad_k[bidb]) + (Is_causal || Is_local ? m_block * kBlockM : 0)) * (params.rotary_dim / 2); + // If not causal, all the queries get the same the cos/sin, taken at location seqlen_k_cache. + // We do this by setting the row stride of gCos / gSin to 0. + Tensor gCos = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim / 2>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gSin = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim / 2>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gCosCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gSinCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor tRgCos = gmem_thr_copy_rotary.partition_S(gCos); + Tensor tRgSin = gmem_thr_copy_rotary.partition_S(gSin); + Tensor tRgCosCont = gmem_thr_copy_rotary_cont.partition_S(gCosCont); + Tensor tRgSinCont = gmem_thr_copy_rotary_cont.partition_S(gSinCont); + if (params.is_rotary_interleaved) { + flash::copy_rotary_interleaved<Is_even_K>( + tQgQ, tQsQ, tRgCos, tRgSin, tQcQ, binfo.actual_seqlen_q - m_block * kBlockM, + 0, params.d, params.rotary_dim + ); + } else { + flash::copy_rotary_contiguous<Is_even_K>( + tQgQ, tQsQ, tRgCosCont, tRgSinCont, tQcQ, binfo.actual_seqlen_q - m_block * kBlockM, + 0, params.d, params.rotary_dim + ); + } + } + + int n_block = n_block_max - 1; + // We don't need to clear the sK smem tiles since we'll mask out the scores anyway. + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV, + binfo.actual_seqlen_k - n_block * kBlockN); + cute::cp_async_fence(); + + // flash::cp_async_wait<0>(); + // __syncthreads(); + // if (tidx == 0 && blockIdx.y == 0 && blockIdx.z == 0) { print(tKsK); } + // __syncthreads(); + + clear(acc_o); + + flash::Softmax<2 * size<1>(acc_o)> softmax; + + const float alibi_slope = !Has_alibi ? 0.0f : reinterpret_cast<float *>(params.alibi_slopes_ptr)[bidb * params.alibi_slopes_batch_stride + bidh] / params.scale_softmax; + flash::Mask<Is_causal, Is_local, Has_alibi, /*Mask_2d=*/true> mask(binfo.actual_seqlen_k, binfo.actual_seqlen_q, params.window_size_left, params.window_size_right, alibi_slope, params.mask_2d, params.mask_q_range, params.mask_k_range, params.m_block_dim); + fwdIterator blockmask(params, binfo, kBlockM, kBlockN, bidb, bidh, m_block, n_block_min, n_block_max); + int next_block_idx = blockmask.max_no_larger(n_block_max-1); + int leap = 0; + // For performance reason, we separate out two kinds of iterations: + // those that need masking on S, and those that don't. + // We need masking on S for the very last block when K and V has length not multiple of kBlockN. + // We also need masking on S if it's causal, for the last ceil_div(kBlockM, kBlockN) blocks. + // We will have at least 1 "masking" iteration. + + // If not even_N, then seqlen_k might end in the middle of a block. In that case we need to + // mask 2 blocks (e.g. when kBlockM == kBlockN), not just 1. + constexpr int n_masking_steps = (!Is_causal && !Is_local) + ? 1 + : ((Is_even_MN && Is_causal) ? cute::ceil_div(kBlockM, kBlockN) : cute::ceil_div(kBlockM, kBlockN) + 1); + #pragma unroll + for (int masking_step = 0; masking_step < n_masking_steps; ++masking_step, --n_block) { + const bool skip = (n_block != next_block_idx); + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + // Advance gV + if (masking_step > 0) { + if (block_table == nullptr) { + tVgV.data() = tVgV.data() + (-int(kBlockN * params.v_row_stride)); + } else { + const int block_table_idx_cur = (n_block + 1) * kBlockN / params.page_block_size; + const int block_table_offset_cur = (n_block + 1) * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = n_block * kBlockN / params.page_block_size; + const int block_table_offset_next = n_block * kBlockN - block_table_idx_next * params.page_block_size; + tVgV.data() = tVgV.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.v_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.v_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV); + } else { + // Clear the smem tiles to account for predicated off loads + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/true>( + gmem_tiled_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + } + cute::cp_async_fence(); + + if (!skip) { + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + // if (cute::thread0()) { print(acc_s); } + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + mask.template apply_mask<Is_causal, Is_even_MN>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + + next_block_idx = blockmask.max_no_larger(n_block-1); + } else { + mask.all_mask(acc_s); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + // if (tidx == 0 && blockIdx.y == 0 && blockIdx.z == 0) { print(tVsV); } + // __syncthreads(); + + leap = (masking_step + 1 == n_masking_steps) ? n_block - next_block_idx : 1; + + if (n_block > n_block_min && next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next =(n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + // We have key_padding_mask so we'll need to Check_inf + masking_step == 0 + ? softmax.template softmax_rescale_o</*Is_first=*/true, /*Check_inf=*/Is_causal || Is_local || !Is_even_MN>(acc_s, acc_o, params.scale_softmax_log2) + : softmax.template softmax_rescale_o</*Is_first=*/false, /*Check_inf=*/Is_causal || Is_local || !Is_even_MN>(acc_s, acc_o, params.scale_softmax_log2); + // if (cute::thread0()) { print(scores_max); print(scores_sum); print(scores); } + + if (!skip) { + // Convert acc_s from fp32 to fp16/bf16 + Tensor rP = flash::convert_type<Element>(acc_s); + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_acc_Aregs<Kernel_traits::TiledMma>(rP.layout())); + + flash::gemm_rs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_tiled_copy_V, smem_thr_copy_V); + } + + // This check is at the end of the loop since we always have at least 1 iteration + if (n_masking_steps > 1 && n_block <= n_block_min) { + --n_block; + break; + } + } + + leap = n_block - next_block_idx + 1; + + // These are the iterations where we don't need masking on S + for (n_block = next_block_idx; n_block != -1 && n_block >= n_block_min; n_block = next_block_idx) { + next_block_idx = blockmask.max_no_larger(n_block - 1); + + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + // Advance gV + if (block_table == nullptr) { + tVgV.data() = tVgV.data() + (-int(kBlockN * leap * params.v_row_stride)); + } else { + const int block_table_idx_cur = (n_block + leap) * kBlockN / params.page_block_size; + const int block_table_offset_cur = (n_block + leap) * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = n_block * kBlockN / params.page_block_size; + const int block_table_offset_next = n_block * kBlockN - block_table_idx_next * params.page_block_size; + tVgV.data() = tVgV.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.v_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.v_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV); + cute::cp_async_fence(); + + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + + leap = n_block - next_block_idx; + if (next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next = (n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + mask.template apply_mask</*Causal_mask=*/false>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + softmax.template softmax_rescale_o</*Is_first=*/false, /*Check_inf=*/Is_local>(acc_s, acc_o, params.scale_softmax_log2); + + Tensor rP = flash::convert_type<Element>(acc_s); + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_acc_Aregs<Kernel_traits::TiledMma>(rP.layout())); + + flash::gemm_rs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_tiled_copy_V, smem_thr_copy_V); + } + + // Epilogue + + Tensor lse = softmax.template normalize_softmax_lse</*Is_dropout=*/false, Split>(acc_o, params.scale_softmax); + // if (cute::thread0()) { print(lse); } + + Tensor sOaccum = make_tensor(make_smem_ptr(reinterpret_cast<ElementO *>(smem_)), typename Kernel_traits::SmemLayoutO{}); // (SMEM_M,SMEM_N) + // Partition sO to match the accumulator partitioning + using SmemTiledCopyO = std::conditional_t< + !Split, + typename Kernel_traits::SmemCopyAtomO, + typename Kernel_traits::SmemCopyAtomOaccum + >; + auto smem_tiled_copy_Oaccum = make_tiled_copy_C(SmemTiledCopyO{}, tiled_mma); + auto smem_thr_copy_Oaccum = smem_tiled_copy_Oaccum.get_thread_slice(tidx); + Tensor rO = flash::convert_type<ElementO>(acc_o); + Tensor taccOrOaccum = smem_thr_copy_Oaccum.retile_S(rO); // ((Atom,AtomNum), MMA_M, MMA_N) + Tensor taccOsOaccum = smem_thr_copy_Oaccum.partition_D(sOaccum); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + // sOaccum is larger than sQ, so we need to syncthreads here + // TODO: allocate enough smem for sOaccum + if constexpr (Split) { __syncthreads(); } + + cute::copy(smem_tiled_copy_Oaccum, taccOrOaccum, taccOsOaccum); + + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + m_block * kBlockM * params.o_row_stride + bidh * params.o_head_stride * kBlockM; + const index_t row_offset_oaccum = (((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q + + m_block) * params.d_rounded; + const index_t row_offset_lseaccum = (Split || !params.unpadded_lse ? + ((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q : bidh * params.total_q + binfo.q_offset(params.seqlen_q, 1, bidb) + ) + m_block; + + Tensor gOaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementO *>(Split ? params.oaccum_ptr : params.o_ptr) + (Split ? row_offset_oaccum : row_offset_o)), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Split ? kHeadDim * params.seqlen_q / kBlockM : params.o_head_stride, _1{})); + Tensor gLSEaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(Split ? params.softmax_lseaccum_ptr : params.softmax_lse_ptr) + row_offset_lseaccum), + Shape<Int<kBlockM>>{}, make_stride(params.seqlen_q / kBlockM)); + // if (tidx == 0) { printf("row_offset_o = %d, bidh = %d, gOaccum = %p\n", row_offset_o, bidh, gOaccum.data()); } + + GmemTiledCopyO gmem_tiled_copy_Oaccum; + auto gmem_thr_copy_Oaccum = gmem_tiled_copy_Oaccum.get_thread_slice(tidx); + Tensor tOsOaccum = gmem_thr_copy_Oaccum.partition_S(sOaccum); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tOgOaccum = gmem_thr_copy_Oaccum.partition_D(gOaccum); + + __syncthreads(); + + Tensor tOrOaccum = make_tensor<ElementO>(shape(tOgOaccum)); + cute::copy(gmem_tiled_copy_Oaccum, tOsOaccum, tOrOaccum); + + Tensor caccO = make_identity_tensor(Shape<Int<kBlockM>, Int<kHeadDim>>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor taccOcO = thr_mma.partition_C(caccO); // (MMA,MMA_M,MMA_K) + static_assert(decltype(size<0>(taccOcO))::value == 4); + // Convert to ((2, 2), MMA_M, MMA_K) then take only the row indices. + Tensor taccOcO_row = logical_divide(taccOcO, Shape<_2>{})(make_coord(0, _), _, 0); + CUTE_STATIC_ASSERT_V(size(lse) == size(taccOcO_row)); // MMA_M + if (get<1>(taccOcO_row(0)) == 0) { + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { + const int row = get<0>(taccOcO_row(mi)); + if (row < binfo.actual_seqlen_q - m_block * kBlockM) { gLSEaccum(row) = lse(mi); } + } + } + + // Construct identity layout for sO + Tensor cO = make_identity_tensor(make_shape(size<0>(sOaccum), size<1>(sOaccum))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + // Repeat the partitioning with identity layouts + Tensor tOcO = gmem_thr_copy_Oaccum.partition_D(cO); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tOpO = make_tensor<bool>(make_shape(size<2>(tOgOaccum))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpO); ++k) { tOpO(k) = get<1>(tOcO(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/false, /*Clear_OOB_K=*/false>( + gmem_tiled_copy_Oaccum, tOrOaccum, tOgOaccum, tOcO, tOpO, binfo.actual_seqlen_q - m_block * kBlockM + ); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename Kernel_traits, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Split, bool Append_KV, typename Params> +inline __device__ void compute_attn_1rowblock_splitkv(const Params ¶ms, const int bidb, const int bidh, const int m_block, const int n_split_idx, const int num_n_splits) { + + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + constexpr int kNWarps = Kernel_traits::kNWarps; + + using GmemTiledCopyO = std::conditional_t< + !Split, + typename Kernel_traits::GmemTiledCopyO, + typename Kernel_traits::GmemTiledCopyOaccum + >; + using ElementO = std::conditional_t<!Split, Element, ElementAccum>; + + const BlockInfo</*Varlen=*/!Is_even_MN> binfo(params, bidb); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("Is_even_MN = %d, is_cumulativ = %d, seqlen_k_cache = %d, actual_seqlen_k = %d\n", Is_even_MN, params.is_seqlens_k_cumulative, binfo.seqlen_k_cache, binfo.actual_seqlen_k); } + // if (threadIdx.x == 0 && blockIdx.y == 1 && blockIdx.z == 0) { printf("params.knew_ptr = %p, seqlen_k_cache + seqlen_knew = %d\n", params.knew_ptr, binfo.seqlen_k_cache + (params.knew_ptr == nullptr ? 0 : params.seqlen_knew)); } + if (m_block * kBlockM >= binfo.actual_seqlen_q) return; + + const int n_blocks_per_split = ((params.seqlen_k + kBlockN - 1) / kBlockN + num_n_splits - 1) / num_n_splits; + const int n_block_min = !Is_local + ? n_split_idx * n_blocks_per_split + : std::max(n_split_idx * n_blocks_per_split, (m_block * kBlockM + binfo.actual_seqlen_k - binfo.actual_seqlen_q - params.window_size_left) / kBlockN); + int n_block_max = std::min(cute::ceil_div(binfo.actual_seqlen_k, kBlockN), (n_split_idx + 1) * n_blocks_per_split); + if (Is_causal || Is_local) { + n_block_max = std::min(n_block_max, + cute::ceil_div((m_block + 1) * kBlockM / params.m_block_dim + binfo.actual_seqlen_k - (binfo.actual_seqlen_q / params.m_block_dim) + params.window_size_right, kBlockN)); + } + if (n_block_min >= n_block_max) { // This also covers the case where n_block_max <= 0 + // We exit early and write 0 to gOaccum and -inf to gLSEaccum. + // Otherwise we might read OOB elements from gK and gV, + // or get wrong results when we combine gOaccum from different blocks. + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + m_block * kBlockM * params.o_row_stride + bidh * params.o_head_stride; + const index_t row_offset_oaccum = (((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q + + m_block * kBlockM) * params.d_rounded; + const index_t row_offset_lseaccum = ((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q + m_block * kBlockM; + Tensor gOaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementO *>(Split ? params.oaccum_ptr : params.o_ptr) + (Split ? row_offset_oaccum : row_offset_o)), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Split ? kHeadDim : params.o_row_stride, _1{})); + Tensor gLSEaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(Split ? params.softmax_lseaccum_ptr : params.softmax_lse_ptr) + row_offset_lseaccum), + Shape<Int<kBlockM>>{}, Stride<_1>{}); + + GmemTiledCopyO gmem_tiled_copy_Oaccum; + auto gmem_thr_copy_Oaccum = gmem_tiled_copy_Oaccum.get_thread_slice(tidx); + Tensor tOgOaccum = gmem_thr_copy_Oaccum.partition_D(gOaccum); + Tensor tOrOaccum = make_tensor<ElementO>(shape(tOgOaccum)); + clear(tOrOaccum); + // Construct identity layout for sO + Tensor cO = make_identity_tensor(make_shape(size<0>(gOaccum), size<1>(gOaccum))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + // Repeat the partitioning with identity layouts + Tensor tOcO = gmem_thr_copy_Oaccum.partition_D(cO); + Tensor tOpO = make_tensor<bool>(make_shape(size<2>(tOgOaccum))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpO); ++k) { tOpO(k) = get<1>(tOcO(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/false, /*Clear_OOB_K=*/false>( + gmem_tiled_copy_Oaccum, tOrOaccum, tOgOaccum, tOcO, tOpO, binfo.actual_seqlen_q - m_block * kBlockM + ); + #pragma unroll + for (int m = 0; m < size<1>(tOgOaccum); ++m) { + const int row = get<0>(tOcO(0, m, 0)); + if (row < binfo.actual_seqlen_q - m_block * kBlockM && get<1>(tOcO(0, m, 0)) == 0) { gLSEaccum(row) = Split ? -INFINITY : INFINITY; } + } + return; + } + + // We iterate over the blocks in reverse order. This is because the last block is the only one + // that needs masking when we read K and V from global memory. Moreover, iterating in reverse + // might save us 1 register (we just need n_block instead of both n_block and n_block_max). + + // We move K and V to the last block. + const int bidb_cache = params.cache_batch_idx == nullptr ? bidb : params.cache_batch_idx[bidb]; + const int *block_table = params.block_table == nullptr ? nullptr : params.block_table + bidb * params.block_table_batch_stride; + const int block_table_idx = block_table == nullptr ? 0 : (n_block_max - 1) * kBlockN / params.page_block_size; + const int block_table_offset = block_table == nullptr ? 0 : (n_block_max - 1) * kBlockN - block_table_idx * params.page_block_size; + const index_t row_offset_k = block_table == nullptr + ? binfo.k_offset(params.k_batch_stride, params.k_row_stride, bidb_cache) + + (n_block_max - 1) * kBlockN * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride + : block_table[block_table_idx] * params.k_batch_stride + block_table_offset * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride; + const index_t row_offset_v = block_table == nullptr + ? binfo.k_offset(params.v_batch_stride, params.v_row_stride, bidb_cache) + + (n_block_max - 1) * kBlockN * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride + : block_table[block_table_idx] * params.v_batch_stride + block_table_offset * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride; + + Tensor mQ = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.q_ptr) + binfo.q_offset(params.q_batch_stride, params.q_row_stride, bidb)), + make_shape(binfo.actual_seqlen_q, params.h, params.d), + make_stride(params.q_row_stride, params.q_head_stride, _1{})); + Tensor gQ = local_tile(mQ(_, bidh, _), Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_coord(m_block, 0)); // (kBlockM, kHeadDim) + Tensor gK = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.k_ptr) + row_offset_k), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.k_row_stride, _1{})); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("k_ptr = %p, row_offset_k = %d, gK_ptr = %p\n", params.k_ptr, row_offset_k, gK.data()); } + Tensor gV = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.v_ptr) + row_offset_v), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.v_row_stride, _1{})); + + Tensor sQ = make_tensor(make_smem_ptr(reinterpret_cast<Element *>(smem_)), + typename Kernel_traits::SmemLayoutQ{}); + Tensor sK = make_tensor(sQ.data() + size(sQ), typename Kernel_traits::SmemLayoutKV{}); + Tensor sV = make_tensor(sK.data() + size(sK), typename Kernel_traits::SmemLayoutKV{}); + Tensor sVt = make_tensor(sV.data(), typename Kernel_traits::SmemLayoutVtransposed{}); + Tensor sVtNoSwizzle = make_tensor(sV.data().get(), typename Kernel_traits::SmemLayoutVtransposedNoSwizzle{}); + + typename Kernel_traits::GmemTiledCopyQKV gmem_tiled_copy_QKV; + auto gmem_thr_copy_QKV = gmem_tiled_copy_QKV.get_thread_slice(tidx); + + Tensor tQgQ = gmem_thr_copy_QKV.partition_S(gQ); + Tensor tQsQ = gmem_thr_copy_QKV.partition_D(sQ); + Tensor tKgK = gmem_thr_copy_QKV.partition_S(gK); // (KCPY, KCPY_N, KCPY_K) + Tensor tKsK = gmem_thr_copy_QKV.partition_D(sK); + Tensor tVgV = gmem_thr_copy_QKV.partition_S(gV); // (VCPY, VCPY_N, VCPY_K) + Tensor tVsV = gmem_thr_copy_QKV.partition_D(sV); + + typename Kernel_traits::TiledMma tiled_mma; + auto thr_mma = tiled_mma.get_thread_slice(tidx); + Tensor tSrQ = thr_mma.partition_fragment_A(sQ); // (MMA,MMA_M,MMA_K) + Tensor tSrK = thr_mma.partition_fragment_B(sK); // (MMA,MMA_N,MMA_K) + Tensor tOrVt = thr_mma.partition_fragment_B(sVtNoSwizzle); // (MMA, MMA_K,MMA_N) + + Tensor acc_o = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kHeadDim>>{}); // MMA, MMA_M, MMA_K + + // + // Copy Atom retiling + // + + auto smem_tiled_copy_Q = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_Q = smem_tiled_copy_Q.get_thread_slice(tidx); + Tensor tSsQ = smem_thr_copy_Q.partition_S(sQ); + + auto smem_tiled_copy_K = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_K = smem_tiled_copy_K.get_thread_slice(tidx); + Tensor tSsK = smem_thr_copy_K.partition_S(sK); + + auto smem_tiled_copy_V = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma); + auto smem_thr_copy_V = smem_tiled_copy_V.get_thread_slice(tidx); + Tensor tOsVt = smem_thr_copy_V.partition_S(sVt); + + // PREDICATES + // + + // // Allocate predicate tensors for m and n + // Tensor tQpQ = make_tensor<bool>(make_shape(size<1>(tQsQ), size<2>(tQsQ)), Stride<_1,_0>{}); + // Tensor tKVpKV = make_tensor<bool>(make_shape(size<1>(tKsK), size<2>(tKsK)), Stride<_1,_0>{}); + + // Construct identity layout for sQ and sK + Tensor cQ = make_identity_tensor(make_shape(size<0>(sQ), size<1>(sQ))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor cKV = make_identity_tensor(make_shape(size<0>(sK), size<1>(sK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + + // Repeat the partitioning with identity layouts + Tensor tQcQ = gmem_thr_copy_QKV.partition_S(cQ); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tKVcKV = gmem_thr_copy_QKV.partition_S(cKV); // (BCPY,BCPY_N,BCPY_K) -> (blk_n,blk_k) + + // Allocate predicate tensors for k + Tensor tQpQ = make_tensor<bool>(make_shape(size<2>(tQsQ))); + Tensor tKVpKV = make_tensor<bool>(make_shape(size<2>(tKsK))); + + // Set predicates for k bounds + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tQpQ); ++k) { tQpQ(k) = get<1>(tQcQ(0, 0, k)) < params.d; } + #pragma unroll + for (int k = 0; k < size(tKVpKV); ++k) { tKVpKV(k) = get<1>(tKVcKV(0, 0, k)) < params.d; } + } + + // Prologue + + // Copy from Knew to K, optionally apply rotary embedding. + typename Kernel_traits::GmemTiledCopyRotcossin gmem_tiled_copy_rotary; + auto gmem_thr_copy_rotary = gmem_tiled_copy_rotary.get_thread_slice(tidx); + typename Kernel_traits::GmemTiledCopyRotcossinCont gmem_tiled_copy_rotary_cont; + auto gmem_thr_copy_rotary_cont = gmem_tiled_copy_rotary_cont.get_thread_slice(tidx); + if constexpr (Append_KV) { + // Even if we have MQA / GQA, all threadblocks responsible for the same KV head are writing to + // gmem. Technically it's a race condition, but they all write the same content anyway, and it's safe. + // We want to do this so that all threadblocks can proceed right after they finish writing the KV cache. + const index_t row_offset_cossin = ((n_block_max - 1) * kBlockN + (params.leftpad_k == nullptr ? 0 : params.leftpad_k[bidb])) * (params.rotary_dim / 2); + Tensor gCos = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim / 2>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor gSin = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim / 2>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor gCosCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor gSinCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.rotary_dim / 2, _1{})); + Tensor tRgCos = gmem_thr_copy_rotary.partition_S(gCos); + Tensor tRgSin = gmem_thr_copy_rotary.partition_S(gSin); + Tensor tRgCosCont = gmem_thr_copy_rotary_cont.partition_S(gCosCont); + Tensor tRgSinCont = gmem_thr_copy_rotary_cont.partition_S(gSinCont); + // if (cute::thread(0, 0)) { printf("rotary_cos_ptr = %p, gCos.data() = %p, tRgCos.data() = %p, rotary_dim = %d\n", params.rotary_cos_ptr, gCos.data(), tRgCos.data(), params.rotary_dim); } + // if (cute::thread(8, 0)) { print_tensor(gCos); } + // if (cute::thread(0, 0)) { print_tensor(tRgCos); } + + // const index_t row_offset_knew = binfo.k_offset(params.knew_batch_stride, params.knew_row_stride, bidb) + const index_t row_offset_knew = bidb * params.knew_batch_stride + + ((n_block_max - 1) * kBlockN) * params.knew_row_stride + (bidh / params.h_h_k_ratio) * params.knew_head_stride; + // const index_t row_offset_vnew = binfo.k_offset(params.vnew_batch_stride, params.vnew_row_stride, bidb) + const index_t row_offset_vnew = bidb * params.vnew_batch_stride + + ((n_block_max - 1) * kBlockN) * params.vnew_row_stride + (bidh / params.h_h_k_ratio) * params.vnew_head_stride; + // Subtract seqlen_k_cache * row stride so that conceptually gK and gKnew "line up". When we access them, + // e.g. if gK has 128 rows and gKnew has 64 rows, we access gK[:128] and gKNew[128:128 + 64]. + // This maps to accessing the first 64 rows of knew_ptr. + Tensor gKnew = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.knew_ptr) + + row_offset_knew - binfo.seqlen_k_cache * params.knew_row_stride), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.knew_row_stride, _1{})); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("knew_ptr = %p, row_offset_knew = %d, gKnew_ptr = %p\n", params.knew_ptr, row_offset_knew, gKnew.data()); } + Tensor gVnew = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.vnew_ptr) + + row_offset_vnew - binfo.seqlen_k_cache * params.vnew_row_stride), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.vnew_row_stride, _1{})); + Tensor tKgKnew = gmem_thr_copy_QKV.partition_S(gKnew); // (KCPY, KCPY_N, KCPY_K) + Tensor tVgVnew = gmem_thr_copy_QKV.partition_S(gVnew); // (VCPY, VCPY_N, VCPY_K) + + const int n_block_copy_min = std::max(n_block_min, binfo.seqlen_k_cache / kBlockN); + auto tKgK_data = tKgK.data(); + auto tVgV_data = tVgV.data(); + for (int n_block = n_block_max - 1; n_block >= n_block_copy_min; n_block--) { + flash::copy_w_min_idx<Is_even_K>( + tVgVnew, tVgV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN, binfo.seqlen_k_cache - n_block * kBlockN + ); + tVgVnew.data() = tVgVnew.data() + (-int(kBlockN * params.vnew_row_stride)); + if (params.rotary_dim == 0) { + flash::copy_w_min_idx<Is_even_K>( + tKgKnew, tKgK, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN, binfo.seqlen_k_cache - n_block * kBlockN + ); + } else { + if (params.is_rotary_interleaved) { + // Don't clear OOB_K because we're writing to global memory + flash::copy_rotary_interleaved<Is_even_K, /*Clear_OOB_K=*/false>( + tKgKnew, tKgK, tRgCos, tRgSin, tKVcKV, binfo.actual_seqlen_k - n_block * kBlockN, + binfo.seqlen_k_cache - n_block * kBlockN, params.d, params.rotary_dim + ); + tRgCos.data() = tRgCos.data() + (-int(kBlockN * params.rotary_dim / 2)); + tRgSin.data() = tRgSin.data() + (-int(kBlockN * params.rotary_dim / 2)); + } else { + // Don't clear OOB_K because we're writing to global memory + flash::copy_rotary_contiguous<Is_even_K, /*Clear_OOB_K=*/false>( + tKgKnew, tKgK, tRgCosCont, tRgSinCont, tKVcKV, binfo.actual_seqlen_k - n_block * kBlockN, + binfo.seqlen_k_cache - n_block * kBlockN, params.d, params.rotary_dim + ); + tRgCosCont.data() = tRgCosCont.data() + (-int(kBlockN * params.rotary_dim / 2)); + tRgSinCont.data() = tRgSinCont.data() + (-int(kBlockN * params.rotary_dim / 2)); + + } + } + tKgKnew.data() = tKgKnew.data() + (-int(kBlockN * params.knew_row_stride)); + if (block_table == nullptr) { + tVgV.data() = tVgV.data() + (-int(kBlockN * params.v_row_stride)); + tKgK.data() = tKgK.data() + (-int(kBlockN * params.k_row_stride)); + } else { + if (n_block > n_block_copy_min) { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - 1) * kBlockN / params.page_block_size; + const int block_table_offset_next = (n_block - 1) * kBlockN - block_table_idx_next * params.page_block_size; + const int table_diff = block_table[block_table_idx_next] - block_table[block_table_idx_cur]; + const int offset_diff = block_table_offset_next - block_table_offset_cur; + tVgV.data() = tVgV.data() + table_diff * params.v_batch_stride + offset_diff * params.v_row_stride; + tKgK.data() = tKgK.data() + table_diff * params.k_batch_stride + offset_diff * params.k_row_stride; + } + } + } + // Need this before we can read in K again, so that we'll see the updated K values. + __syncthreads(); + tKgK.data() = tKgK_data; + tVgV.data() = tVgV_data; + } + + // Read Q from gmem to smem, optionally apply rotary embedding. + if (!Append_KV || params.rotary_dim == 0) { + // We don't need to clear the sQ smem tiles since we'll only write out the valid outputs + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ, + binfo.actual_seqlen_q - m_block * kBlockM); + } else { + const index_t row_offset_cossin = (binfo.seqlen_k_cache + (params.leftpad_k == nullptr ? 0 : params.leftpad_k[bidb]) + (Is_causal || Is_local ? m_block * kBlockM : 0)) * (params.rotary_dim / 2); + // If not causal, all the queries get the same the cos/sin, taken at location seqlen_k_cache. + // We do this by setting the row stride of gCos / gSin to 0. + Tensor gCos = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim / 2>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gSin = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim / 2>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gCosCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gSinCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor tRgCos = gmem_thr_copy_rotary.partition_S(gCos); + Tensor tRgSin = gmem_thr_copy_rotary.partition_S(gSin); + Tensor tRgCosCont = gmem_thr_copy_rotary_cont.partition_S(gCosCont); + Tensor tRgSinCont = gmem_thr_copy_rotary_cont.partition_S(gSinCont); + if (params.is_rotary_interleaved) { + flash::copy_rotary_interleaved<Is_even_K>( + tQgQ, tQsQ, tRgCos, tRgSin, tQcQ, binfo.actual_seqlen_q - m_block * kBlockM, + 0, params.d, params.rotary_dim + ); + } else { + flash::copy_rotary_contiguous<Is_even_K>( + tQgQ, tQsQ, tRgCosCont, tRgSinCont, tQcQ, binfo.actual_seqlen_q - m_block * kBlockM, + 0, params.d, params.rotary_dim + ); + } + } + + int n_block = n_block_max - 1; + // We don't need to clear the sK smem tiles since we'll mask out the scores anyway. + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV, + binfo.actual_seqlen_k - n_block * kBlockN); + cute::cp_async_fence(); + + // flash::cp_async_wait<0>(); + // __syncthreads(); + // if (tidx == 0 && blockIdx.y == 0 && blockIdx.z == 0) { print(tKsK); } + // __syncthreads(); + + clear(acc_o); + + flash::Softmax<2 * size<1>(acc_o)> softmax; + + const float alibi_slope = !Has_alibi ? 0.0f : reinterpret_cast<float *>(params.alibi_slopes_ptr)[bidb * params.alibi_slopes_batch_stride + bidh] / params.scale_softmax; + flash::Mask<Is_causal, Is_local, Has_alibi, /*Mask_2d=*/true> mask(binfo.actual_seqlen_k, binfo.actual_seqlen_q, params.window_size_left, params.window_size_right, alibi_slope, params.mask_2d, params.mask_q_range, params.mask_k_range, params.m_block_dim); + fwdIterator blockmask(params, binfo, kBlockM, kBlockN, bidb, bidh, m_block * kBlockM, n_block_min, n_block_max); + int next_block_idx = blockmask.max_no_larger(n_block_max-1); + int leap = 0; + // For performance reason, we separate out two kinds of iterations: + // those that need masking on S, and those that don't. + // We need masking on S for the very last block when K and V has length not multiple of kBlockN. + // We also need masking on S if it's causal, for the last ceil_div(kBlockM, kBlockN) blocks. + // We will have at least 1 "masking" iteration. + + // If not even_N, then seqlen_k might end in the middle of a block. In that case we need to + // mask 2 blocks (e.g. when kBlockM == kBlockN), not just 1. + constexpr int n_masking_steps = (!Is_causal && !Is_local) + ? 1 + : ((Is_even_MN && Is_causal) ? cute::ceil_div(kBlockM, kBlockN) : cute::ceil_div(kBlockM, kBlockN) + 1); + #pragma unroll + for (int masking_step = 0; masking_step < n_masking_steps; ++masking_step, --n_block) { + const bool skip = (n_block != next_block_idx); + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + // Advance gV + if (masking_step > 0) { + if (block_table == nullptr) { + tVgV.data() = tVgV.data() + (-int(kBlockN * params.v_row_stride)); + } else { + const int block_table_idx_cur = (n_block + 1) * kBlockN / params.page_block_size; + const int block_table_offset_cur = (n_block + 1) * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = n_block * kBlockN / params.page_block_size; + const int block_table_offset_next = n_block * kBlockN - block_table_idx_next * params.page_block_size; + tVgV.data() = tVgV.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.v_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.v_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV); + } else { + // Clear the smem tiles to account for predicated off loads + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/true>( + gmem_tiled_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + } + cute::cp_async_fence(); + + if (!skip) { + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + // if (cute::thread0()) { print(acc_s); } + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + mask.template apply_mask<Is_causal, Is_even_MN>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + + next_block_idx = blockmask.max_no_larger(n_block-1); + } else { + mask.all_mask(acc_s); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + // if (tidx == 0 && blockIdx.y == 0 && blockIdx.z == 0) { print(tVsV); } + // __syncthreads(); + + leap = (masking_step + 1 == n_masking_steps) ? n_block - next_block_idx : 1; + + if (n_block > n_block_min && next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next =(n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + // We have key_padding_mask so we'll need to Check_inf + masking_step == 0 + ? softmax.template softmax_rescale_o</*Is_first=*/true, /*Check_inf=*/Is_causal || Is_local || !Is_even_MN>(acc_s, acc_o, params.scale_softmax_log2) + : softmax.template softmax_rescale_o</*Is_first=*/false, /*Check_inf=*/Is_causal || Is_local || !Is_even_MN>(acc_s, acc_o, params.scale_softmax_log2); + // if (cute::thread0()) { print(scores_max); print(scores_sum); print(scores); } + + if (!skip) { + // Convert acc_s from fp32 to fp16/bf16 + Tensor rP = flash::convert_type<Element>(acc_s); + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_acc_Aregs<Kernel_traits::TiledMma>(rP.layout())); + + flash::gemm_rs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_tiled_copy_V, smem_thr_copy_V); + } + + // This check is at the end of the loop since we always have at least 1 iteration + if (n_masking_steps > 1 && n_block <= n_block_min) { + --n_block; + break; + } + } + + leap = n_block - next_block_idx + 1; + + // These are the iterations where we don't need masking on S + for (n_block = next_block_idx; n_block != -1 && n_block >= n_block_min; n_block = next_block_idx) { + next_block_idx = blockmask.max_no_larger(n_block - 1); + + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + // Advance gV + if (block_table == nullptr) { + tVgV.data() = tVgV.data() + (-int(kBlockN * leap * params.v_row_stride)); + } else { + const int block_table_idx_cur = (n_block + leap) * kBlockN / params.page_block_size; + const int block_table_offset_cur = (n_block + leap) * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = n_block * kBlockN / params.page_block_size; + const int block_table_offset_next = n_block * kBlockN - block_table_idx_next * params.page_block_size; + tVgV.data() = tVgV.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.v_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.v_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV); + cute::cp_async_fence(); + + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + + leap = n_block - next_block_idx; + if (next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next = (n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + mask.template apply_mask</*Causal_mask=*/false>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + softmax.template softmax_rescale_o</*Is_first=*/false, /*Check_inf=*/Is_local>(acc_s, acc_o, params.scale_softmax_log2); + + Tensor rP = flash::convert_type<Element>(acc_s); + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_acc_Aregs<Kernel_traits::TiledMma>(rP.layout())); + + flash::gemm_rs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_tiled_copy_V, smem_thr_copy_V); + } + + // Epilogue + + Tensor lse = softmax.template normalize_softmax_lse</*Is_dropout=*/false, Split>(acc_o, params.scale_softmax); + // if (cute::thread0()) { print(lse); } + + Tensor sOaccum = make_tensor(make_smem_ptr(reinterpret_cast<ElementO *>(smem_)), typename Kernel_traits::SmemLayoutO{}); // (SMEM_M,SMEM_N) + // Partition sO to match the accumulator partitioning + using SmemTiledCopyO = std::conditional_t< + !Split, + typename Kernel_traits::SmemCopyAtomO, + typename Kernel_traits::SmemCopyAtomOaccum + >; + auto smem_tiled_copy_Oaccum = make_tiled_copy_C(SmemTiledCopyO{}, tiled_mma); + auto smem_thr_copy_Oaccum = smem_tiled_copy_Oaccum.get_thread_slice(tidx); + Tensor rO = flash::convert_type<ElementO>(acc_o); + Tensor taccOrOaccum = smem_thr_copy_Oaccum.retile_S(rO); // ((Atom,AtomNum), MMA_M, MMA_N) + Tensor taccOsOaccum = smem_thr_copy_Oaccum.partition_D(sOaccum); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + // sOaccum is larger than sQ, so we need to syncthreads here + // TODO: allocate enough smem for sOaccum + if constexpr (Split) { __syncthreads(); } + + cute::copy(smem_tiled_copy_Oaccum, taccOrOaccum, taccOsOaccum); + + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + m_block * kBlockM * params.o_row_stride + bidh * params.o_head_stride; + const index_t row_offset_oaccum = (((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q + + m_block * kBlockM) * params.d_rounded; + const index_t row_offset_lseaccum = (Split || !params.unpadded_lse ? + ((n_split_idx * params.b + bidb) * params.h + bidh) * params.seqlen_q : bidh * params.total_q + binfo.q_offset(params.seqlen_q, 1, bidb) + ) + m_block * kBlockM; + + Tensor gOaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementO *>(Split ? params.oaccum_ptr : params.o_ptr) + (Split ? row_offset_oaccum : row_offset_o)), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Split ? kHeadDim : params.o_row_stride, _1{})); + Tensor gLSEaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(Split ? params.softmax_lseaccum_ptr : params.softmax_lse_ptr) + row_offset_lseaccum), + Shape<Int<kBlockM>>{}, Stride<_1>{}); + // if (tidx == 0) { printf("row_offset_o = %d, bidh = %d, gOaccum = %p\n", row_offset_o, bidh, gOaccum.data()); } + + GmemTiledCopyO gmem_tiled_copy_Oaccum; + auto gmem_thr_copy_Oaccum = gmem_tiled_copy_Oaccum.get_thread_slice(tidx); + Tensor tOsOaccum = gmem_thr_copy_Oaccum.partition_S(sOaccum); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tOgOaccum = gmem_thr_copy_Oaccum.partition_D(gOaccum); + + __syncthreads(); + + Tensor tOrOaccum = make_tensor<ElementO>(shape(tOgOaccum)); + cute::copy(gmem_tiled_copy_Oaccum, tOsOaccum, tOrOaccum); + + Tensor caccO = make_identity_tensor(Shape<Int<kBlockM>, Int<kHeadDim>>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor taccOcO = thr_mma.partition_C(caccO); // (MMA,MMA_M,MMA_K) + static_assert(decltype(size<0>(taccOcO))::value == 4); + // Convert to ((2, 2), MMA_M, MMA_K) then take only the row indices. + Tensor taccOcO_row = logical_divide(taccOcO, Shape<_2>{})(make_coord(0, _), _, 0); + CUTE_STATIC_ASSERT_V(size(lse) == size(taccOcO_row)); // MMA_M + if (get<1>(taccOcO_row(0)) == 0) { + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { + const int row = get<0>(taccOcO_row(mi)); + if (row < binfo.actual_seqlen_q - m_block * kBlockM) { gLSEaccum(row) = lse(mi); } + } + } + + // Construct identity layout for sO + Tensor cO = make_identity_tensor(make_shape(size<0>(sOaccum), size<1>(sOaccum))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + // Repeat the partitioning with identity layouts + Tensor tOcO = gmem_thr_copy_Oaccum.partition_D(cO); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tOpO = make_tensor<bool>(make_shape(size<2>(tOgOaccum))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpO); ++k) { tOpO(k) = get<1>(tOcO(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy<Is_even_MN, Is_even_K, /*Clear_OOB_MN=*/false, /*Clear_OOB_K=*/false>( + gmem_tiled_copy_Oaccum, tOrOaccum, tOgOaccum, tOcO, tOpO, binfo.actual_seqlen_q - m_block * kBlockM + ); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename Kernel_traits, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Split, bool Append_KV, typename Params> +inline __device__ void compute_attn_1rowblock_splitkv_stage1(const Params ¶ms, const int bidb, const int bidh, const int m_block, const int n_split_idx, const int num_n_splits) { + + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + constexpr int kNWarps = Kernel_traits::kNWarps; + + const BlockInfo</*Varlen=*/!Is_even_MN> binfo(params, bidb); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("Is_even_MN = %d, is_cumulativ = %d, seqlen_k_cache = %d, actual_seqlen_k = %d\n", Is_even_MN, params.is_seqlens_k_cumulative, binfo.seqlen_k_cache, binfo.actual_seqlen_k); } + // if (threadIdx.x == 0 && blockIdx.y == 1 && blockIdx.z == 0) { printf("params.knew_ptr = %p, seqlen_k_cache + seqlen_knew = %d\n", params.knew_ptr, binfo.seqlen_k_cache + (params.knew_ptr == nullptr ? 0 : params.seqlen_knew)); } + if (m_block * kBlockM >= binfo.actual_seqlen_q) return; + + const int n_blocks_per_split = ((params.seqlen_k + kBlockN - 1) / kBlockN + num_n_splits - 1) / num_n_splits; + const int n_block_min = !Is_local + ? n_split_idx * n_blocks_per_split + : std::max(n_split_idx * n_blocks_per_split, (m_block * kBlockM + binfo.actual_seqlen_k - binfo.actual_seqlen_q - params.window_size_left) / kBlockN); + int n_block_max = std::min(cute::ceil_div(binfo.actual_seqlen_k, kBlockN), (n_split_idx + 1) * n_blocks_per_split); + int n_block_max_c = std::min(cute::ceil_div(params.seqlen_c, kBlockN), (n_split_idx + 1) * n_blocks_per_split); + if (Is_causal || Is_local) { + const int max_q = (m_block + 1) * kBlockM / params.m_block_dim - 1; + const int max_k = (max_q - 16 + 1) / 16; + n_block_max = std::min(n_block_max, cute::ceil_div(max_k, kBlockN)); + const int max_c = (max_q - 64 + 1) / 64; + n_block_max_c = std::min(n_block_max_c, cute::ceil_div(max_c, kBlockN)); + } + if (n_block_min >= n_block_max_c) { // This also covers the case where n_block_max <= 0 + // We exit early and write 0 to gOaccum and -inf to gLSEaccum. + // Otherwise we might read OOB elements from gK and gV, + // or get wrong results when we combine gOaccum from different blocks. + return; + } + + // We iterate over the blocks in reverse order. This is because the last block is the only one + // that needs masking when we read K and V from global memory. Moreover, iterating in reverse + // might save us 1 register (we just need n_block instead of both n_block and n_block_max). + + // We move K and V to the last block. + const int bidb_cache = params.cache_batch_idx == nullptr ? bidb : params.cache_batch_idx[bidb]; + const int *block_table = params.block_table == nullptr ? nullptr : params.block_table + bidb * params.block_table_batch_stride; + const int block_table_idx = block_table == nullptr ? 0 : (n_block_max - 1) * kBlockN / params.page_block_size; + const int block_table_offset = block_table == nullptr ? 0 : (n_block_max - 1) * kBlockN - block_table_idx * params.page_block_size; + const index_t row_offset_k = block_table == nullptr + ? binfo.k_offset(params.k_batch_stride, params.k_row_stride, bidb_cache) + + (n_block_max - 1) * kBlockN * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride + : block_table[block_table_idx] * params.k_batch_stride + block_table_offset * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride; + const index_t row_offset_v = block_table == nullptr + ? binfo.k_offset(params.v_batch_stride, params.v_row_stride, bidb_cache) + + (n_block_max_c - 1) * kBlockN * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride + : block_table[block_table_idx] * params.v_batch_stride + block_table_offset * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride; + + const index_t row_offset_p = ((bidb * params.h + bidh) * params.seqlen_q_rounded/16 // TODO 16 is m_block_dim + + m_block * kBlockM/16) * params.seqlen_k_rounded + (n_block_max - 1) * kBlockN; + + Tensor mQ = make_tensor(make_gmem_ptr(reinterpret_cast<Element*>(params.q_ptr) + binfo.q_offset(params.q_batch_stride, params.q_row_stride, bidb)), + make_shape(binfo.actual_seqlen_q / kBlockM, params.h, kBlockM, params.d), + make_stride(params.q_row_stride * kBlockM, params.q_head_stride * kBlockM, params.q_head_stride, _1{})); + Tensor gQ = local_tile(mQ(m_block, bidh, _, _), Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_coord(0, 0)); // (kBlockM, kHeadDim) + Tensor gK = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.k_ptr) + row_offset_k), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.k_row_stride, _1{})); + Tensor gC = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.v_ptr) + row_offset_v), + Shape<Int<kBlockN>, Int<kHeadDim>>{}, + make_stride(params.v_row_stride, _1{})); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { printf("k_ptr = %p, row_offset_k = %d, gK_ptr = %p\n", params.k_ptr, row_offset_k, gK.data()); } + Tensor gP = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.p_ptr) + row_offset_p), + Shape<Int<kBlockM/16>, Int<kBlockN>>{}, // TODO 16 is m_block_dim + make_stride(params.seqlen_k_rounded, _1{})); + + Tensor sQ = make_tensor(make_smem_ptr(reinterpret_cast<Element *>(smem_)), + typename Kernel_traits::SmemLayoutQ{}); + Tensor sK = make_tensor(sQ.data() + size(sQ), typename Kernel_traits::SmemLayoutKV{}); + + typename Kernel_traits::GmemTiledCopyQKV gmem_tiled_copy_QKV; + auto gmem_thr_copy_QKV = gmem_tiled_copy_QKV.get_thread_slice(tidx); + + Tensor tQgQ = gmem_thr_copy_QKV.partition_S(gQ); + Tensor tQsQ = gmem_thr_copy_QKV.partition_D(sQ); + Tensor tKgK = gmem_thr_copy_QKV.partition_S(gC); // (KCPY, KCPY_N, KCPY_K) + Tensor tKsK = gmem_thr_copy_QKV.partition_D(sK); + + typename Kernel_traits::TiledMma tiled_mma; + auto thr_mma = tiled_mma.get_thread_slice(tidx); + Tensor tSrQ = thr_mma.partition_fragment_A(sQ); // (MMA,MMA_M,MMA_K) + Tensor tSrK = thr_mma.partition_fragment_B(sK); // (MMA,MMA_N,MMA_K) + + Tensor acc_o = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kHeadDim>>{}); // MMA, MMA_M, MMA_K + + // + // Copy Atom retiling + // + + auto smem_tiled_copy_Q = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_Q = smem_tiled_copy_Q.get_thread_slice(tidx); + Tensor tSsQ = smem_thr_copy_Q.partition_S(sQ); + + auto smem_tiled_copy_K = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtom{}, tiled_mma); + auto smem_thr_copy_K = smem_tiled_copy_K.get_thread_slice(tidx); + Tensor tSsK = smem_thr_copy_K.partition_S(sK); + + // PREDICATES + // + + // // Allocate predicate tensors for m and n + // Tensor tQpQ = make_tensor<bool>(make_shape(size<1>(tQsQ), size<2>(tQsQ)), Stride<_1,_0>{}); + // Tensor tKVpKV = make_tensor<bool>(make_shape(size<1>(tKsK), size<2>(tKsK)), Stride<_1,_0>{}); + + // Construct identity layout for sQ and sK + Tensor cQ = make_identity_tensor(make_shape(size<0>(sQ), size<1>(sQ))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor cKV = make_identity_tensor(make_shape(size<0>(sK), size<1>(sK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + + // Repeat the partitioning with identity layouts + Tensor tQcQ = gmem_thr_copy_QKV.partition_S(cQ); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tKVcKV = gmem_thr_copy_QKV.partition_S(cKV); // (BCPY,BCPY_N,BCPY_K) -> (blk_n,blk_k) + + // Allocate predicate tensors for k + Tensor tQpQ = make_tensor<bool>(make_shape(size<2>(tQsQ))); + Tensor tKVpKV = make_tensor<bool>(make_shape(size<2>(tKsK))); + + // Set predicates for k bounds + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tQpQ); ++k) { tQpQ(k) = get<1>(tQcQ(0, 0, k)) < params.d; } + #pragma unroll + for (int k = 0; k < size(tKVpKV); ++k) { tKVpKV(k) = get<1>(tKVcKV(0, 0, k)) < params.d; } + } + + // Prologue + + // Copy from Knew to K, optionally apply rotary embedding. + typename Kernel_traits::GmemTiledCopyRotcossin gmem_tiled_copy_rotary; + auto gmem_thr_copy_rotary = gmem_tiled_copy_rotary.get_thread_slice(tidx); + typename Kernel_traits::GmemTiledCopyRotcossinCont gmem_tiled_copy_rotary_cont; + auto gmem_thr_copy_rotary_cont = gmem_tiled_copy_rotary_cont.get_thread_slice(tidx); + + // Read Q from gmem to smem, optionally apply rotary embedding. + if (!Append_KV || params.rotary_dim == 0) { + // We don't need to clear the sQ smem tiles since we'll only write out the valid outputs + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ, + binfo.actual_seqlen_q - m_block * kBlockM); + } else { + const index_t row_offset_cossin = (binfo.seqlen_k_cache + (params.leftpad_k == nullptr ? 0 : params.leftpad_k[bidb]) + (Is_causal || Is_local ? m_block * kBlockM : 0)) * (params.rotary_dim / 2); + // If not causal, all the queries get the same the cos/sin, taken at location seqlen_k_cache. + // We do this by setting the row stride of gCos / gSin to 0. + Tensor gCos = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim / 2>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gSin = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim / 2>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gCosCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_cos_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor gSinCont = make_tensor(make_gmem_ptr(reinterpret_cast<Element *>(params.rotary_sin_ptr) + row_offset_cossin), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + make_stride(Is_causal || Is_local ? params.rotary_dim / 2 : 0, _1{})); + Tensor tRgCos = gmem_thr_copy_rotary.partition_S(gCos); + Tensor tRgSin = gmem_thr_copy_rotary.partition_S(gSin); + Tensor tRgCosCont = gmem_thr_copy_rotary_cont.partition_S(gCosCont); + Tensor tRgSinCont = gmem_thr_copy_rotary_cont.partition_S(gSinCont); + if (params.is_rotary_interleaved) { + flash::copy_rotary_interleaved<Is_even_K>( + tQgQ, tQsQ, tRgCos, tRgSin, tQcQ, binfo.actual_seqlen_q - m_block * kBlockM, + 0, params.d, params.rotary_dim + ); + } else { + flash::copy_rotary_contiguous<Is_even_K>( + tQgQ, tQsQ, tRgCosCont, tRgSinCont, tQcQ, binfo.actual_seqlen_q - m_block * kBlockM, + 0, params.d, params.rotary_dim + ); + } + } + + int n_block = n_block_max_c - 1; + // We don't need to clear the sK smem tiles since we'll mask out the scores anyway. + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV, + params.seqlen_c - n_block * kBlockN); + cute::cp_async_fence(); + + flash::Softmax<2 * size<1>(acc_o)> softmax; + + const float alibi_slope = !Has_alibi ? 0.0f : reinterpret_cast<float *>(params.alibi_slopes_ptr)[bidb * params.alibi_slopes_batch_stride + bidh] / params.scale_softmax; + flash::Mask<Is_causal, Is_local, Has_alibi> mask(params.seqlen_c, binfo.actual_seqlen_q, params.window_size_left, params.window_size_right, alibi_slope, nullptr, 0, 0, params.m_block_dim); + + fwdIterator blockmask(params, binfo, kBlockM, kBlockN, bidb, bidh, m_block, n_block_min, n_block_max_c); + int next_block_idx = blockmask.max_no_larger(n_block_max_c-1); + int leap = 0; + + // For performance reason, we separate out two kinds of iterations: + // those that need masking on S, and those that don't. + // We need masking on S for the very last block when K and V has length not multiple of kBlockN. + // We also need masking on S if it's causal, for the last ceil_div(kBlockM, kBlockN) blocks. + // We will have at least 1 "masking" iteration. + + // If not even_N, then seqlen_k might end in the middle of a block. In that case we need to + // mask 2 blocks (e.g. when kBlockM == kBlockN), not just 1. + constexpr int n_masking_steps = (!Is_causal && !Is_local) + ? 1 + : ((Is_even_MN && Is_causal) ? cute::ceil_div(kBlockM, kBlockN) : cute::ceil_div(kBlockM, kBlockN) + 1); + #pragma unroll + for (int masking_step = 0; masking_step < n_masking_steps; ++masking_step, --n_block) { + const bool skip = (n_block != next_block_idx); + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + if (!skip) { + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + // if (cute::thread0()) { print(acc_s); } + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + mask.template apply_mask_stage1<Is_causal, Is_even_MN>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + + next_block_idx = blockmask.max_no_larger(n_block-1); + } else { + mask.all_mask(acc_s); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + // if (tidx == 0 && blockIdx.y == 0 && blockIdx.z == 0) { print(tVsV); } + // __syncthreads(); + + leap = (masking_step + 1 == n_masking_steps) ? n_block - next_block_idx : 1; + + if (n_block > n_block_min && next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next =(n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + // We have key_padding_mask so we'll need to Check_inf + masking_step == 0 + ? softmax.template softmax_rescale_simple</*Is_first=*/true, /*Check_inf=*/Is_causal || Is_local || !Is_even_MN>(acc_s, params.scale_softmax_log2) + : softmax.template softmax_rescale_simple</*Is_first=*/false, /*Check_inf=*/Is_causal || Is_local || !Is_even_MN>(acc_s, params.scale_softmax_log2); + // if (cute::thread0()) { print(scores_max); print(scores_sum); print(scores); } + + if (!skip) { + // Convert acc_s from fp32 to fp16/bf16 + Tensor rP = flash::convert_type<Element>(acc_s); + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + } + + // This check is at the end of the loop since we always have at least 1 iteration + if (n_masking_steps > 1 && n_block <= n_block_min) { + --n_block; + break; + } + } + + leap = n_block - next_block_idx + 1; + + // These are the iterations where we don't need masking on S + for (n_block = next_block_idx; n_block != -1 && n_block >= n_block_min; n_block = next_block_idx) { + next_block_idx = blockmask.max_no_larger(n_block - 1); + + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + + leap = n_block - next_block_idx; + if (next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next = (n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + mask.template apply_mask_stage1</*Causal_mask=*/false>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + softmax.template softmax_rescale_simple</*Is_first=*/false, /*Check_inf=*/Is_local>(acc_s, params.scale_softmax_log2); + } + + // Epilogue + + softmax.get_row_sum(); + + { // second time + tKgK = gmem_thr_copy_QKV.partition_S(gK); // (KCPY, KCPY_N, KCPY_K) + + n_block = n_block_max - 1; + // We don't need to clear the sK smem tiles since we'll mask out the scores anyway. + flash::copy<Is_even_MN, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV, + binfo.actual_seqlen_k - n_block * kBlockN); + cute::cp_async_fence(); + + flash::Mask<Is_causal, Is_local, Has_alibi> mask(binfo.actual_seqlen_k, binfo.actual_seqlen_q, params.window_size_left, params.window_size_right, alibi_slope, nullptr, 0, 0, params.m_block_dim); + fwdIterator blockmask(params, binfo, kBlockM, kBlockN, bidb, bidh, m_block, n_block_min, n_block_max); + + next_block_idx = blockmask.max_no_larger(n_block_max-1); + leap = 0; + + // For performance reason, we separate out two kinds of iterations: + // those that need masking on S, and those that don't. + // We need masking on S for the very last block when K and V has length not multiple of kBlockN. + // We also need masking on S if it's causal, for the last ceil_div(kBlockM, kBlockN) blocks. + // We will have at least 1 "masking" iteration. + + // If not even_N, then seqlen_k might end in the middle of a block. In that case we need to + // mask 2 blocks (e.g. when kBlockM == kBlockN), not just 1. + #pragma unroll + for (int masking_step = 0; masking_step < n_masking_steps; ++masking_step, --n_block) { + const bool skip = (n_block != next_block_idx); + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + if (!skip) { + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + // if (cute::thread0()) { print(acc_s); } + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + mask.template apply_mask_stage1<Is_causal, Is_even_MN>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + + next_block_idx = blockmask.max_no_larger(n_block-1); + } else { + mask.all_mask(acc_s); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + // if (tidx == 0 && blockIdx.y == 0 && blockIdx.z == 0) { print(tVsV); } + // __syncthreads(); + + leap = (masking_step + 1 == n_masking_steps) ? n_block - next_block_idx : 1; + + if (n_block > n_block_min && next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next =(n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + // We have key_padding_mask so we'll need to Check_inf + softmax.template softmax_rescale_gt(acc_s, params.scale_softmax_log2); + // if (cute::thread0()) { print(scores_max); print(scores_sum); print(scores); } + + if (!skip) { + // Convert acc_s from fp32 to fp16/bf16 + Tensor rP = flash::convert_type<Element>(acc_s); + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + + if (params.p_ptr != nullptr) { + hdim16_reduce<Element>( + acc_s, + gP, + n_block * kBlockN, + m_block * kBlockM, + kNWarps * 16 + ); + gP.data() = gP.data() + (-kBlockN); + } + } + + // This check is at the end of the loop since we always have at least 1 iteration + if (n_masking_steps > 1 && n_block <= n_block_min) { + --n_block; + break; + } + } + + leap = n_block - next_block_idx + 1; + + // These are the iterations where we don't need masking on S + for (n_block = next_block_idx; n_block != -1 && n_block >= n_block_min; n_block = next_block_idx) { + next_block_idx = blockmask.max_no_larger(n_block - 1); + + Tensor acc_s = partition_fragment_C(tiled_mma, Shape<Int<kBlockM>, Int<kBlockN>>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_tiled_copy_Q, smem_tiled_copy_K, + smem_thr_copy_Q, smem_thr_copy_K + ); + if constexpr (Is_softcap){ + flash::apply_softcap(acc_s, params.softcap); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + + leap = n_block - next_block_idx; + if (next_block_idx != -1) { + // Advance gK + if (block_table == nullptr) { + tKgK.data() = tKgK.data() + (-int(kBlockN * leap * params.k_row_stride)); + } else { + const int block_table_idx_cur = n_block * kBlockN / params.page_block_size; + const int block_table_offset_cur = n_block * kBlockN - block_table_idx_cur * params.page_block_size; + const int block_table_idx_next = (n_block - leap) * kBlockN / params.page_block_size; + const int block_table_offset_next = (n_block - leap) * kBlockN - block_table_idx_next * params.page_block_size; + tKgK.data() = tKgK.data() + (block_table[block_table_idx_next] - block_table[block_table_idx_cur]) * params.k_batch_stride + (block_table_offset_next - block_table_offset_cur) * params.k_row_stride; + } + flash::copy</*Is_even_MN=*/true, Is_even_K>(gmem_tiled_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + mask.template apply_mask_stage1</*Causal_mask=*/false>( + acc_s, n_block * kBlockN, m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, kNWarps * 16 + ); + softmax.template softmax_rescale_gt(acc_s, params.scale_softmax_log2); + + Tensor rP = flash::convert_type<Element>(acc_s); + // Reshape rP from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or (4, MMA_M, MMA_N) if using m16n8k8. + + if (params.p_ptr != nullptr) { + hdim16_reduce<Element>( + acc_s, + gP, + n_block * kBlockN, + m_block * kBlockM, + kNWarps * 16 + ); + gP.data() = gP.data() + (-kBlockN); + } + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename Kernel_traits, bool Is_dropout, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Return_softmax, typename Params> +inline __device__ void compute_attn(const Params ¶ms) { + const int m_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + + // We want the fwd and bwd to generate the same dropout pattern (RNG), without restricting + // them to have the same number of threads or have to traverse the attention matrix + // in the same order. + // In the Philox RNG, we use the offset to store the batch, head, and the lane id + // (within a warp). We use the subsequence to store the location of the 16 x 32 blocks within + // the attention matrix. This way, as long as we have the batch, head, and the location of + // the 16 x 32 block within the attention matrix, we can generate the exact same dropout pattern. + + flash::compute_attn_1rowblock<Kernel_traits, Is_dropout, Is_causal, Is_local, Has_alibi, Is_even_MN, Is_even_K, Is_softcap, Return_softmax>(params, bidb, bidh, m_block); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename Kernel_traits, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Split, bool Append_KV, typename Params> +inline __device__ void compute_attn_splitkv(const Params ¶ms) { + const int m_block = blockIdx.x; + // The block index for the batch. + const int bidb = Split ? blockIdx.z / params.h : blockIdx.y; + // The block index for the head. + const int bidh = Split ? blockIdx.z - bidb * params.h : blockIdx.z; + const int n_split_idx = Split ? blockIdx.y : 0; + const int num_n_splits = Split ? gridDim.y : 1; + if (params.m_block_dim == 1) { + flash::compute_attn_1rowblock_splitkv<Kernel_traits, Is_causal, Is_local, Has_alibi, Is_even_MN, Is_even_K, Is_softcap, Split, Append_KV>(params, bidb, bidh, m_block, n_split_idx, num_n_splits); + } else { + flash::compute_attn_1rowblock_splitkv_headlevel<Kernel_traits, Is_causal, Is_local, Has_alibi, Is_even_MN, Is_even_K, Is_softcap, Split, Append_KV>(params, bidb, bidh, m_block, n_split_idx, num_n_splits); + } +} + +template<typename Kernel_traits, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Split, bool Append_KV, typename Params> +inline __device__ void compute_attn_splitkv_stage1(const Params ¶ms) { + const int m_block = blockIdx.x; + // The block index for the batch. + const int bidb = Split ? blockIdx.z / params.h : blockIdx.y; + // The block index for the head. + const int bidh = Split ? blockIdx.z - bidb * params.h : blockIdx.z; + const int n_split_idx = Split ? blockIdx.y : 0; + const int num_n_splits = Split ? gridDim.y : 1; + flash::compute_attn_1rowblock_splitkv_stage1<Kernel_traits, Is_causal, Is_local, Has_alibi, Is_even_MN, Is_even_K, Is_softcap, Split, Append_KV>(params, bidb, bidh, m_block, n_split_idx, num_n_splits); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename Kernel_traits, int kBlockM, int Log_max_splits, bool Is_even_K, typename Params> +inline __device__ void combine_attn_seqk_parallel(const Params ¶ms) { + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + constexpr int kMaxSplits = 1 << Log_max_splits; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + constexpr int kNThreads = Kernel_traits::kNThreads; + + static_assert(kMaxSplits <= 128, "kMaxSplits must be <= 128"); + static_assert(kBlockM == 4 || kBlockM == 8 || kBlockM == 16 || kBlockM == 32, "kBlockM must be 4, 8, 16 or 32"); + + // Shared memory. + // kBlockM + 1 instead of kBlockM to reduce bank conflicts. + __shared__ ElementAccum sLSE[kMaxSplits][kBlockM + 1]; + + // The thread and block index. + const int tidx = threadIdx.x; + const int bidx = blockIdx.x; + + const index_t lse_size = params.b * params.h * params.seqlen_q; + + const index_t row_offset_lse = bidx * kBlockM; + Tensor gLSEaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(params.softmax_lseaccum_ptr) + row_offset_lse), + Shape<Int<kMaxSplits>, Int<kBlockM>>{}, + make_stride(lse_size, _1{})); + + // LSE format is different depending on params.unpadded_lse and params.seqlenq_ngroups_swapped, see comment in get_lse_tile. + // This tensor's layout maps row_offset_lse to {bidb, bidh, q_offset}. + Tensor gLSE = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(params.softmax_lse_ptr) + row_offset_lse), + Shape<Int<kBlockM>>{}, Stride<_1>{}); + + // This layout maps row_offset_lse to {bidh, q_offset, bidb} or {bidh, bidb, q_offset}. + Layout flat_layout = make_layout(lse_size); + Layout orig_layout = make_layout(make_shape(params.seqlen_q, params.h, params.b)); + auto transposed_stride = params.seqlenq_ngroups_swapped ? make_stride(params.b, params.seqlen_q * params.b, 1) : make_stride(1, params.seqlen_q * params.b, params.seqlen_q); + Layout remapped_layout = make_layout(make_shape(params.seqlen_q, params.h, params.b), transposed_stride); + Layout final_layout = cute::composition(remapped_layout, cute::composition(orig_layout, flat_layout)); + + Tensor gLSE_unpadded = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(params.softmax_lse_ptr)), final_layout); + + constexpr int kNLsePerThread = (kMaxSplits * kBlockM + kNThreads - 1) / kNThreads; + + // Read the LSE values from gmem and store them in shared memory, then transpose them. + constexpr int kRowsPerLoadLSE = kNThreads / kBlockM; + #pragma unroll + for (int l = 0; l < kNLsePerThread; ++l) { + const int row = l * kRowsPerLoadLSE + tidx / kBlockM; + const int col = tidx % kBlockM; + ElementAccum lse = (row < params.num_splits && col < lse_size - bidx * kBlockM) ? gLSEaccum(row, col) : -INFINITY; + if (row < kMaxSplits) { sLSE[row][col] = lse; } + // if (bidx == 0 && tidx < 32) { printf("tidx = %d, row = %d, col = %d, lse = %f\n", tidx, row, col, lse); } + } + // if (bidx == 1 && tidx < 32) { printf("tidx = %d, row_offset_lse = %d, lse = %f\n", tidx, row_offset_lse, lse_accum(0)); } + __syncthreads(); + Tensor lse_accum = make_tensor<ElementAccum>(Shape<Int<kNLsePerThread>>{}); + constexpr int kRowsPerLoadTranspose = std::min(kRowsPerLoadLSE, kMaxSplits); + // To make sure that kMaxSplits is within 1 warp: we decide how many elements within kMaxSplits + // each thread should hold. If kMaxSplits = 16, then each thread holds 2 elements (128 threads, + // kBlockM rows, so each time we load we can load 128 / kBlockM rows). + // constexpr int kThreadsPerSplit = kMaxSplits / kRowsPerLoadTranspose; + // static_assert(kThreadsPerSplit <= 32); + static_assert(kRowsPerLoadTranspose <= 32); + static_assert(kNLsePerThread * kRowsPerLoadTranspose <= kMaxSplits); + #pragma unroll + for (int l = 0; l < kNLsePerThread; ++l) { + const int row = l * kRowsPerLoadTranspose + tidx % kRowsPerLoadTranspose; + const int col = tidx / kRowsPerLoadTranspose; + lse_accum(l) = (row < kMaxSplits && col < kBlockM) ? sLSE[row][col] : -INFINITY; + // if (bidx == 0 && tidx < 32) { printf("tidx = %d, row = %d, col = %d, lse = %f\n", tidx, row, col, lse_accum(l)); } + } + + // Compute the logsumexp of the LSE along the split dimension. + ElementAccum lse_max = lse_accum(0); + #pragma unroll + for (int l = 1; l < kNLsePerThread; ++l) { lse_max = max(lse_max, lse_accum(l)); } + MaxOp<float> max_op; + lse_max = Allreduce<kRowsPerLoadTranspose>::run(lse_max, max_op); + lse_max = lse_max == -INFINITY ? 0.0f : lse_max; // In case all local LSEs are -inf + float lse_sum = expf(lse_accum(0) - lse_max); + #pragma unroll + for (int l = 1; l < kNLsePerThread; ++l) { lse_sum += expf(lse_accum(l) - lse_max); } + SumOp<float> sum_op; + lse_sum = Allreduce<kRowsPerLoadTranspose>::run(lse_sum, sum_op); + // For the case where all local lse == -INFINITY, we want to set lse_logsum to INFINITY. Otherwise + // lse_logsum is log(0.0) = -INFINITY and we get NaN when we do lse_accum(l) - lse_logsum. + ElementAccum lse_logsum = (lse_sum == 0.f || lse_sum != lse_sum) ? INFINITY : logf(lse_sum) + lse_max; + // if (bidx == 0 && tidx < 32) { printf("tidx = %d, lse = %f, lse_max = %f, lse_logsum = %f\n", tidx, lse_accum(0), lse_max, lse_logsum); } + if (tidx % kRowsPerLoadTranspose == 0 && tidx / kRowsPerLoadTranspose < kBlockM) { + if (params.unpadded_lse) { + const index_t lse_offset = row_offset_lse + tidx / kRowsPerLoadTranspose; + if (lse_offset < lse_size) { + gLSE_unpadded(lse_offset) = lse_logsum; + } + } else { + gLSE(tidx / kRowsPerLoadTranspose) = lse_logsum; + } + } + // Store the scales exp(lse - lse_logsum) in shared memory. + #pragma unroll + for (int l = 0; l < kNLsePerThread; ++l) { + const int row = l * kRowsPerLoadTranspose + tidx % kRowsPerLoadTranspose; + const int col = tidx / kRowsPerLoadTranspose; + if (row < params.num_splits && col < kBlockM) { sLSE[row][col] = expf(lse_accum(l) - lse_logsum); } + } + __syncthreads(); + + const index_t row_offset_oaccum = bidx * kBlockM * params.d_rounded; + Tensor gOaccum = make_tensor(make_gmem_ptr(reinterpret_cast<ElementAccum *>(params.oaccum_ptr) + row_offset_oaccum), + Shape<Int<kBlockM>, Int<kHeadDim>>{}, + Stride<Int<kHeadDim>, _1>{}); + constexpr int kBlockN = kNThreads / kBlockM; + using GmemLayoutAtomOaccum = Layout<Shape<Int<kBlockM>, Int<kBlockN>>, Stride<Int<kBlockN>, _1>>; + using GmemTiledCopyOaccum = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, ElementAccum>{}, + GmemLayoutAtomOaccum{}, + Layout<Shape < _1, _4>>{})); // Val layout, 4 vals per store + GmemTiledCopyOaccum gmem_tiled_copy_Oaccum; + auto gmem_thr_copy_Oaccum = gmem_tiled_copy_Oaccum.get_thread_slice(tidx); + Tensor tOgOaccum = gmem_thr_copy_Oaccum.partition_S(gOaccum); + Tensor tOrO = make_tensor<ElementAccum>(shape(tOgOaccum)); + Tensor tOrOaccum = make_tensor<ElementAccum>(shape(tOgOaccum)); + clear(tOrO); + + // Predicates + Tensor cOaccum = make_identity_tensor(Shape<Int<kBlockM>, Int<kHeadDim>>{}); + // Repeat the partitioning with identity layouts + Tensor tOcOaccum = gmem_thr_copy_Oaccum.partition_S(cOaccum); + Tensor tOpOaccum = make_tensor<bool>(make_shape(size<2>(tOgOaccum))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpOaccum); ++k) { tOpOaccum(k) = get<1>(tOcOaccum(0, 0, k)) < params.d; } + } + // Load Oaccum in then scale and accumulate to O + for (int split = 0; split < params.num_splits; ++split) { + flash::copy</*Is_even_MN=*/false, Is_even_K>( + gmem_tiled_copy_Oaccum, tOgOaccum, tOrOaccum, tOcOaccum, tOpOaccum, params.b * params.h * params.seqlen_q - bidx * kBlockM + ); + #pragma unroll + for (int m = 0; m < size<1>(tOrOaccum); ++m) { + int row = get<0>(tOcOaccum(0, m, 0)); + ElementAccum lse_scale = sLSE[split][row]; + #pragma unroll + for (int k = 0; k < size<2>(tOrOaccum); ++k) { + #pragma unroll + for (int i = 0; i < size<0>(tOrOaccum); ++i) { + tOrO(i, m, k) += lse_scale * tOrOaccum(i, m, k); + } + } + // if (cute::thread0()) { printf("lse_scale = %f, %f\n", sLSE[split][0], sLSE[split][1]); print(tOrOaccum); } + } + tOgOaccum.data() = tOgOaccum.data() + params.b * params.h * params.seqlen_q * params.d_rounded; + } + // if (cute::thread0()) { print_tensor(tOrO); } + + Tensor rO = flash::convert_type<Element>(tOrO); + // Write to gO + #pragma unroll + for (int m = 0; m < size<1>(rO); ++m) { + const int idx = bidx * kBlockM + get<0>(tOcOaccum(0, m, 0)); + if (idx < params.b * params.h * params.seqlen_q) { + const int batch_idx = idx / (params.h * params.seqlen_q); + const int head_idx = (idx - batch_idx * (params.h * params.seqlen_q)) / params.seqlen_q; + // The index to the rows of Q + const int row = idx - batch_idx * (params.h * params.seqlen_q) - head_idx * params.seqlen_q; + auto o_ptr = reinterpret_cast<Element *>(params.o_ptr) + batch_idx * params.o_batch_stride + + head_idx * params.o_head_stride + row * params.o_row_stride; + #pragma unroll + for (int k = 0; k < size<2>(rO); ++k) { + if (Is_even_K || tOpOaccum(k)) { + const int col = get<1>(tOcOaccum(0, m, k)); + Tensor gO = make_tensor(make_gmem_ptr(o_ptr + col), + Shape<Int<decltype(size<0>(rO))::value>>{}, Stride<_1>{}); + // TODO: Should check if this is using vectorized store, but it seems pretty fast + copy(rO(_, m, k), gO); + // if (bidx == 0 && tidx == 0) { printf("tidx = %d, idx = %d, batch_idx = %d, head_idx = %d, row = %d, col = %d\n", tidx, idx, batch_idx, head_idx, row, col); print(rO(_, m, k)); print(gO); } + // reinterpret_cast<uint64_t *>(o_ptr)[col / 4] = recast<uint64_t>(rO)(0, m, k); + } + } + } + } +} + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_launch_template.h b/examples/CPM.cu/src/flash_attn/src/flash_fwd_launch_template.h new file mode 100644 index 00000000..cdb50ba7 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_launch_template.h @@ -0,0 +1,382 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include "static_switch.h" +#include "flash.h" +#include "flash_fwd_kernel.h" + +// Determine if the architecture supports FLASH and define a macro to handle parameter modifiers +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +#define ARCH_SUPPORTS_FLASH +#define KERNEL_PARAM_MODIFIER __grid_constant__ +#else +#define KERNEL_PARAM_MODIFIER +#endif + +// Define a macro for unsupported architecture handling to centralize the error message +#define FLASH_UNSUPPORTED_ARCH printf("FATAL: FlashAttention requires building with sm version sm80-sm90, but was built for < 8.0!"); + +// Use a macro to clean up kernel definitions +#define DEFINE_FLASH_FORWARD_KERNEL(kernelName, ...) \ +template<typename Kernel_traits, __VA_ARGS__> \ +__global__ void kernelName(KERNEL_PARAM_MODIFIER const Flash_fwd_params params) + +DEFINE_FLASH_FORWARD_KERNEL(flash_fwd_kernel, bool Is_dropout, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Return_softmax) { + #if defined(ARCH_SUPPORTS_FLASH) + static_assert(!(Is_causal && Is_local)); // Enforce constraints + flash::compute_attn<Kernel_traits, Is_dropout, Is_causal, Is_local, Has_alibi, Is_even_MN, Is_even_K, Is_softcap, Return_softmax>(params); + #else + FLASH_UNSUPPORTED_ARCH + #endif +} + +DEFINE_FLASH_FORWARD_KERNEL(flash_fwd_splitkv_kernel, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Split, bool Append_KV) { + #if defined(ARCH_SUPPORTS_FLASH) + flash::compute_attn_splitkv<Kernel_traits, Is_causal, Is_local, Has_alibi, Is_even_MN, Is_even_K, Is_softcap, Split, Append_KV>(params); + #else + FLASH_UNSUPPORTED_ARCH + #endif +} + +DEFINE_FLASH_FORWARD_KERNEL(flash_fwd_splitkv_stage1_kernel, bool Is_causal, bool Is_local, bool Has_alibi, bool Is_even_MN, bool Is_even_K, bool Is_softcap, bool Split, bool Append_KV) { + #if defined(ARCH_SUPPORTS_FLASH) + flash::compute_attn_splitkv_stage1<Kernel_traits, Is_causal, Is_local, Has_alibi, Is_even_MN, Is_even_K, Is_softcap, Split, Append_KV>(params); + #else + FLASH_UNSUPPORTED_ARCH + #endif +} + +DEFINE_FLASH_FORWARD_KERNEL(flash_fwd_splitkv_combine_kernel, int kBlockM, int Log_max_splits, bool Is_even_K) { + static_assert(Log_max_splits >= 1); + flash::combine_attn_seqk_parallel<Kernel_traits, kBlockM, Log_max_splits, Is_even_K>(params); +} + +template<typename Kernel_traits, bool Is_dropout, bool Is_causal> +void run_flash_fwd(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr size_t smem_size = Kernel_traits::kSmemSize; + // printf("smem_size = %d\n", smem_size); + + // Work-around for gcc 7. It doesn't like nested BOOL_SWITCH. + // https://github.com/kokkos/kokkos-kernels/issues/349 + // https://github.com/HazyResearch/flash-attention/issues/21 + + const int num_m_block = (params.seqlen_q + Kernel_traits::kBlockM - 1) / Kernel_traits::kBlockM; + dim3 grid(num_m_block, params.b, params.h); + const bool is_even_MN = params.cu_seqlens_q == nullptr && params.cu_seqlens_k == nullptr && params.seqlen_k % Kernel_traits::kBlockN == 0 && params.seqlen_q % Kernel_traits::kBlockM == 0; + const bool is_even_K = params.d == Kernel_traits::kHeadDim; + const bool return_softmax = params.p_ptr != nullptr; + BOOL_SWITCH(is_even_MN, IsEvenMNConst, [&] { + EVENK_SWITCH(is_even_K, IsEvenKConst, [&] { + LOCAL_SWITCH((params.window_size_left >= 0 || params.window_size_right >= 0) && !Is_causal, Is_local, [&] { + BOOL_SWITCH(return_softmax, ReturnSoftmaxConst, [&] { + ALIBI_SWITCH(params.alibi_slopes_ptr != nullptr, Has_alibi, [&] { + SOFTCAP_SWITCH(params.softcap > 0.0, Is_softcap, [&] { + // Will only return softmax if dropout, to reduce compilation time. + // If not IsEvenKConst, we also set IsEvenMNConst to false to reduce number of templates. + // If return_softmax, set IsEvenMNConst to false to reduce number of templates + // If head dim > 128, set IsEvenMNConst to false to reduce number of templates + // If Is_local, set Is_causal to false + auto kernel = &flash_fwd_kernel<Kernel_traits, Is_dropout && !Is_softcap, Is_causal, Is_local && !Is_causal, Has_alibi, IsEvenMNConst && IsEvenKConst && !Is_local && !ReturnSoftmaxConst && Kernel_traits::kHeadDim <= 128, IsEvenKConst, Is_softcap, ReturnSoftmaxConst && Is_dropout && !Is_softcap>; + // auto kernel = &flash_fwd_kernel<Kernel_traits, false, Is_causal, false, false, true, true, false>; + // printf("IsEvenMNConst = %d, IsEvenKConst = %d, Is_local = %d, Is_causal = %d, ReturnSoftmaxConst = %d, Is_dropout = %d\n", int(IsEvenMNConst), int(IsEvenKConst), int(Is_local), int(Is_causal), int(ReturnSoftmaxConst), int(Is_dropout)); + // auto kernel = &flash_fwd_kernel<Kernel_traits, false, Is_causal, false, true, true, false>; + if (smem_size >= 48 * 1024) { + cudaFuncSetAttribute( + kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size); + } + // int ctas_per_sm; + // cudaError status_ = cudaOccupancyMaxActiveBlocksPerMultiprocessor( + // &ctas_per_sm, kernel, Kernel_traits::kNThreads, smem_size); + // printf("smem_size = %d, CTAs per SM = %d\n", int(smem_size), ctas_per_sm); + kernel<<<grid, Kernel_traits::kNThreads, smem_size, stream>>>(params); + }); + }); + }); + }); + }); + }); +} + +template<typename Kernel_traits, bool Is_causal> +void run_flash_splitkv_fwd(Flash_fwd_params ¶ms, cudaStream_t stream) { + static_assert(!Kernel_traits::Is_Q_in_regs, "SplitKV implementation does not support Is_Q_in_regs"); + static_assert(!Kernel_traits::Share_Q_K_smem, "SplitKV implementation does not support Share_Q_K_smem"); + constexpr size_t smem_size = Kernel_traits::kSmemSize; + const int num_m_block = (params.seqlen_q + Kernel_traits::kBlockM - 1) / Kernel_traits::kBlockM; + dim3 grid(num_m_block, params.num_splits > 1 ? params.num_splits : params.b, params.num_splits > 1 ? params.b * params.h : params.h); + const bool is_even_MN = params.cu_seqlens_q == nullptr && params.cu_seqlens_k == nullptr && params.seqlen_k % Kernel_traits::kBlockN == 0 && params.seqlen_q % Kernel_traits::kBlockM == 0; + const bool is_even_K = params.d == Kernel_traits::kHeadDim; + BOOL_SWITCH(is_even_MN, IsEvenMNConst, [&] { + EVENK_SWITCH(is_even_K, IsEvenKConst, [&] { + constexpr static bool Is_local = false; { + BOOL_SWITCH(params.num_splits > 1, Split, [&] { + constexpr static bool Append_KV = false; { + constexpr static bool Has_alibi = false; { + constexpr static bool Is_softcap = false; { + // If Append_KV, then we must have seqlen_offsets, which means cu_seqlens_k != nullptr. + // If not IsEvenKConst, we also set IsEvenMNConst to false to reduce number of templates. + // If Is_local, set Is_causal to false + auto kernel = &flash_fwd_splitkv_kernel<Kernel_traits, Is_causal, Is_local && !Is_causal, Has_alibi, IsEvenMNConst && !Append_KV && IsEvenKConst && !Is_local && Kernel_traits::kHeadDim <= 128, IsEvenKConst, Is_softcap, Split, Append_KV>; + // auto kernel = &flash_fwd_splitkv_kernel<Kernel_traits, Is_causal, false, true, Split, Append_KV>; + // auto kernel = &flash_fwd_splitkv_kernel<Kernel_traits, Is_causal, false, IsEvenKConst>; + if (smem_size >= 48 * 1024) { + cudaFuncSetAttribute( + kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size); + } + kernel<<<grid, Kernel_traits::kNThreads, smem_size, stream>>>(params); + } + } + } + }); + } + }); + }); + if (params.num_splits > 1) { + // We want kBlockM to be as small as possible for more parallelism. + // With 128 threads we can load 512 elements at a time, so if headdim is divisible by 128, kBlockM = 4. + // If headdim is divisible by 64, then we set kBlockM = 8, etc. + constexpr static int kBlockM = Kernel_traits::kHeadDim % 128 == 0 ? 4 : (Kernel_traits::kHeadDim % 64 == 0 ? 8 : 16); + dim3 grid_combine((params.b * params.h * params.seqlen_q + kBlockM - 1) / kBlockM); + params.seqlen_q /= params.m_block_dim; + params.h *= params.m_block_dim; + params.o_row_stride *= params.m_block_dim; + EVENK_SWITCH(is_even_K, IsEvenKConst, [&] { + if (params.num_splits <= 2) { + flash_fwd_splitkv_combine_kernel<Kernel_traits, kBlockM, 1, IsEvenKConst><<<grid_combine, Kernel_traits::kNThreads, 0, stream>>>(params); + } else if (params.num_splits <= 4) { + flash_fwd_splitkv_combine_kernel<Kernel_traits, kBlockM, 2, IsEvenKConst><<<grid_combine, Kernel_traits::kNThreads, 0, stream>>>(params); + } else if (params.num_splits <= 8) { + flash_fwd_splitkv_combine_kernel<Kernel_traits, kBlockM, 3, IsEvenKConst><<<grid_combine, Kernel_traits::kNThreads, 0, stream>>>(params); + } else if (params.num_splits <= 16) { + flash_fwd_splitkv_combine_kernel<Kernel_traits, kBlockM, 4, IsEvenKConst><<<grid_combine, Kernel_traits::kNThreads, 0, stream>>>(params); + } else if (params.num_splits <= 32) { + flash_fwd_splitkv_combine_kernel<Kernel_traits, kBlockM, 5, IsEvenKConst><<<grid_combine, Kernel_traits::kNThreads, 0, stream>>>(params); + } else if (params.num_splits <= 64) { + flash_fwd_splitkv_combine_kernel<Kernel_traits, kBlockM, 6, IsEvenKConst><<<grid_combine, Kernel_traits::kNThreads, 0, stream>>>(params); + } else if (params.num_splits <= 128) { + flash_fwd_splitkv_combine_kernel<Kernel_traits, kBlockM, 7, IsEvenKConst><<<grid_combine, Kernel_traits::kNThreads, 0, stream>>>(params); + } + }); + } +} + +template<typename Kernel_traits, bool Is_causal> +void run_flash_splitkv_fwd_stage1(Flash_fwd_params ¶ms, cudaStream_t stream) { + static_assert(!Kernel_traits::Is_Q_in_regs, "SplitKV implementation does not support Is_Q_in_regs"); + static_assert(!Kernel_traits::Share_Q_K_smem, "SplitKV implementation does not support Share_Q_K_smem"); + constexpr size_t smem_size = Kernel_traits::kSmemSize; + const int num_m_block = (params.seqlen_q + Kernel_traits::kBlockM - 1) / Kernel_traits::kBlockM; + dim3 grid(num_m_block, params.num_splits > 1 ? params.num_splits : params.b, params.num_splits > 1 ? params.b * params.h : params.h); + const bool is_even_MN = params.cu_seqlens_q == nullptr && params.cu_seqlens_k == nullptr && params.seqlen_k % Kernel_traits::kBlockN == 0 && params.seqlen_q % Kernel_traits::kBlockM == 0; + const bool is_even_K = params.d == Kernel_traits::kHeadDim; + BOOL_SWITCH(is_even_MN, IsEvenMNConst, [&] { + EVENK_SWITCH(is_even_K, IsEvenKConst, [&] { + constexpr static bool Is_local = false; { + constexpr static bool Split = false; { + constexpr static bool Append_KV = false; { + constexpr static bool Has_alibi = false; { + constexpr static bool Is_softcap = false; { + // If Append_KV, then we must have seqlen_offsets, which means cu_seqlens_k != nullptr. + // If not IsEvenKConst, we also set IsEvenMNConst to false to reduce number of templates. + // If Is_local, set Is_causal to false + auto kernel = &flash_fwd_splitkv_stage1_kernel<Kernel_traits, Is_causal, Is_local && !Is_causal, Has_alibi, IsEvenMNConst && !Append_KV && IsEvenKConst && !Is_local && Kernel_traits::kHeadDim <= 128, IsEvenKConst, Is_softcap, Split, Append_KV>; + if (smem_size >= 48 * 1024) { + cudaFuncSetAttribute( + kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size); + } + kernel<<<grid, Kernel_traits::kNThreads, smem_size, stream>>>(params); + } + } + } + } + } + }); + }); +} + +template<typename T, int Headdim, bool Is_causal> +void run_mha_fwd_splitkv_dispatch(Flash_fwd_params ¶ms, cudaStream_t stream) { + if (params.blockmask == nullptr) { // TODO improve this + // if (params.blockmask == nullptr && params.block_window_size == 0) { + constexpr static int kBlockM = 64; // Fixed for all head dimensions + // TD [2023-08-28]: nvcc segfaults for headdim 96 with block size 64 x 256, + // and for headdim 192 with block size 64 x 128. + // Also for headdim 160 with block size 64 x 128 after the rotary addition. + constexpr static int kBlockN = Headdim <= 64 ? 256 : (Headdim <= 128 ? 128 : 64); + if (params.m_block_dim == 1) { + run_flash_splitkv_fwd<Flash_fwd_kernel_traits<Headdim, kBlockM, kBlockN, 4, false, false, T>, Is_causal>(params, stream); + } else { + run_flash_splitkv_fwd_stage1<Flash_fwd_kernel_traits<Headdim, kBlockM, kBlockN, 4, false, false, T>, Is_causal>(params, stream); + } + } else { + constexpr static int kBlockM = 16; + constexpr static int kBlockN = 64; + run_flash_splitkv_fwd<Flash_fwd_kernel_traits<Headdim, kBlockM, kBlockN, 1, false, false, T>, Is_causal>(params, stream); + } +} + +template<typename T, bool Is_causal> +void run_mha_fwd_hdim32(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr static int Headdim = 32; + DROPOUT_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 128, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + }); +} + +template<typename T, bool Is_causal> +void run_mha_fwd_hdim64(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr static int Headdim = 64; + DROPOUT_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + if constexpr(!Is_dropout) { + // Using 8 warps is 18% slower for seqlen=2k, 2 warps is 5% slower + // Using block size (64 x 256) is 27% slower for seqlen=2k + // Using block size (256 x 64) is 85% slower for seqlen=2k, because of register spilling + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 128, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, true, T>, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, true, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 128, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + }); +} + +template<typename T, bool Is_causal> +void run_mha_fwd_hdim96(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr static int Headdim = 96; + cudaDeviceProp props; + cudaGetDeviceProperties(&props, 0); + bool is_sm8x = props.major == 8 && props.minor > 0; + DROPOUT_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + // For sm86 or sm89, 64 x 64 is the fastest for causal (because it's square), + if (is_sm8x) { + if constexpr(!Is_causal) { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, true, T>, Is_dropout, Is_causal>(params, stream); + // These two are always slower + // run_flash_fwd<Flash_fwd_kernel_traits<96, 128, 128, 4, true, T>>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<96, 64, 128, 4, true, T>>(params, stream); + }); +} + +template<typename T, bool Is_causal> +void run_mha_fwd_hdim128(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr static int Headdim = 128; + cudaDeviceProp props; + cudaGetDeviceProperties(&props, 0); + bool is_sm8x = props.major == 8 && props.minor > 0; + DROPOUT_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + if constexpr(!Is_dropout) { + // For sm86 or sm89, 64 x 64 is the fastest for causal (because it's square), + // and 128 x 32 (48 KB smem) is the fastest for non-causal since we get 2 CTAs per SM. + if (is_sm8x) { + if constexpr(!Is_causal) { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, true, true, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 128, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // Using 8 warps (128 x 128 and 256 x 64) is 28% slower for seqlen=2k + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 128, 8, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 8, false, false, T>, Is_dropout, Is_causal>(params, stream); + // 1st ones are good for H100, A100 + // 2nd one is good for A6000 bc we get slightly better occupancy + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 4, true, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 4, true, true, T>, Is_dropout, Is_causal>(params, stream); + } + }); +} + +template<typename T, bool Is_causal> +void run_mha_fwd_hdim160(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr static int Headdim = 160; + cudaDeviceProp props; + cudaGetDeviceProperties(&props, 0); + bool is_sm8x = props.major == 8 && props.minor > 0; + DROPOUT_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + // For A100, H100, 128 x 32 is the fastest. + // For sm86 or sm89, 64 x 64 is the fastest for causal (because it's square), + // and 128 x 64 with 8 warps is the fastest for non-causal. + if (is_sm8x) { + if constexpr(!Is_causal) { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 8, false, false, T>, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 4, false, true, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, false, T>>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 128, 4, false, T>>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 64, 4, false, T>>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 8, false, T>>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 128, 8, false, T>>(params, stream); + }); +} + +template<typename T, bool Is_causal> +void run_mha_fwd_hdim192(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr static int Headdim = 192; + DROPOUT_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + if constexpr(!Is_dropout) { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 8, false, false, T>, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 32, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 8, false, false, T>, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 4, false, T>>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 128, 4, false, T>>(params, stream); + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 128, 8, false, T>>(params, stream); + }); +} + +template<typename T, bool Is_causal> +void run_mha_fwd_hdim256(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr static int Headdim = 256; + int device; + cudaGetDevice(&device); + int max_smem_per_sm, max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_sm, cudaDevAttrMaxSharedMemoryPerMultiprocessor, device); + status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + if (status_ != cudaSuccess) { + } + // printf("max_smem_per_sm = %d, max_smem_per_block = %d\n", max_smem_per_sm, max_smem_per_block); + DROPOUT_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + // For A100, we want to run with 128 x 64 (128KB smem). + // For H100 we want to run with 64 x 64 (96KB smem) since then we can get 2 CTAs per SM. + if (max_smem_per_block >= 2 * Headdim * (128 + 2 * 64) && max_smem_per_sm < 4 * Headdim * (64 + 2 * 64)) { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 64, 8, false, false, T>, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 64, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + } + // 64 KB + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 64, 32, 4, false, false, T>, Is_dropout, Is_causal>(params, stream); + // 96 KB + // run_flash_fwd<Flash_fwd_kernel_traits<Headdim, 128, 32, 8, false, false, T>, Is_dropout, Is_causal>(params, stream); + }); +} diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_causal_sm80.cu new file mode 100644 index 00000000..a959c9ce --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 128, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_sm80.cu new file mode 100644 index 00000000..e608e308 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 128, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_causal_sm80.cu new file mode 100644 index 00000000..3dd74e27 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 128, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_sm80.cu new file mode 100644 index 00000000..addacedf --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim128_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 128, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_causal_sm80.cu new file mode 100644 index 00000000..8ace7bda --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 160, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_sm80.cu new file mode 100644 index 00000000..1e133ec1 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 160, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_causal_sm80.cu new file mode 100644 index 00000000..1723c69e --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 160, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_sm80.cu new file mode 100644 index 00000000..892d2352 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim160_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 160, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_causal_sm80.cu new file mode 100644 index 00000000..d07ee0af --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 192, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_sm80.cu new file mode 100644 index 00000000..23cfa59d --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 192, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_causal_sm80.cu new file mode 100644 index 00000000..273a2844 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 192, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_sm80.cu new file mode 100644 index 00000000..0f588d1f --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim192_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 192, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_causal_sm80.cu new file mode 100644 index 00000000..ea024d9a --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 224, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_sm80.cu new file mode 100644 index 00000000..b06ae5ac --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 224, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_causal_sm80.cu new file mode 100644 index 00000000..b217f378 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 224, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_sm80.cu new file mode 100644 index 00000000..8cf2eabe --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim224_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2023, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 224, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_causal_sm80.cu new file mode 100644 index 00000000..370fe9ca --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 256, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_sm80.cu new file mode 100644 index 00000000..508f07f7 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 256, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_causal_sm80.cu new file mode 100644 index 00000000..019ded67 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 256, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_sm80.cu new file mode 100644 index 00000000..708f5542 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim256_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 256, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_causal_sm80.cu new file mode 100644 index 00000000..5a205b7e --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 32, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_sm80.cu new file mode 100644 index 00000000..2c576f11 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 32, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_causal_sm80.cu new file mode 100644 index 00000000..484a15e9 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 32, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_sm80.cu new file mode 100644 index 00000000..5474ae89 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim32_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 32, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_causal_sm80.cu new file mode 100644 index 00000000..8c7da41d --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 64, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_sm80.cu new file mode 100644 index 00000000..93f29dea --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 64, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_causal_sm80.cu new file mode 100644 index 00000000..1e2e12b8 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 64, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_sm80.cu new file mode 100644 index 00000000..16c34ed3 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim64_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 64, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_causal_sm80.cu new file mode 100644 index 00000000..50080c47 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 96, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_sm80.cu new file mode 100644 index 00000000..ae56ddd4 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_bf16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::bfloat16_t, 96, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_causal_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_causal_sm80.cu new file mode 100644 index 00000000..ed305767 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_causal_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 96, true>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_sm80.cu b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_sm80.cu new file mode 100644 index 00000000..02206465 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/flash_fwd_split_hdim96_fp16_sm80.cu @@ -0,0 +1,7 @@ +// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py" + +#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<cutlass::half_t, 96, false>(Flash_fwd_params ¶ms, cudaStream_t stream); diff --git a/examples/CPM.cu/src/flash_attn/src/generate_kernels.py b/examples/CPM.cu/src/flash_attn/src/generate_kernels.py new file mode 100644 index 00000000..119e3495 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/generate_kernels.py @@ -0,0 +1,108 @@ +# Copied from Driss Guessous's PR in PyTorch: https://github.com/pytorch/pytorch/pull/105602 + +# This file is run to generate the kernel instantiations for the flash_attn kernels +# They are written to several files in order to speed up compilation + +import argparse +import itertools +from dataclasses import dataclass +from pathlib import Path +from typing import List, Optional + +DTYPE_MAP = { + "fp16": "cutlass::half_t", + "bf16": "cutlass::bfloat16_t", +} + +SM = [80] # Sm80 kernels support up to +HEAD_DIMENSIONS = [32, 64, 96, 128, 160, 192, 256] +IS_CAUSAL = ["false", "true"] +KERNEL_IMPL_TEMPLATE_FWD = """#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_<{DTYPE}, {HEAD_DIM}, {IS_CAUSAL}>(Flash_fwd_params ¶ms, cudaStream_t stream) {{ + run_mha_fwd_hdim{HEAD_DIM}<{DTYPE}, {IS_CAUSAL}>(params, stream); +}} +""" + +KERNEL_IMPL_TEMPLATE_FWD_SPLIT = """#include "flash_fwd_launch_template.h" + +template void run_mha_fwd_splitkv_dispatch<{DTYPE}, {HEAD_DIM}, {IS_CAUSAL}>(Flash_fwd_params ¶ms, cudaStream_t stream); +""" + +KERNEL_IMPL_TEMPLATE_BWD = """#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_<{DTYPE}, {HEAD_DIM}, {IS_CAUSAL}>(Flash_bwd_params ¶ms, cudaStream_t stream) {{ + run_mha_bwd_hdim{HEAD_DIM}<{DTYPE}, {IS_CAUSAL}>(params, stream); +}} +""" + + +@dataclass +class Kernel: + sm: int + dtype: str + head_dim: int + is_causal: bool + direction: str + + @property + def template(self) -> str: + if self.direction == "fwd": + return KERNEL_IMPL_TEMPLATE_FWD.format( + DTYPE=DTYPE_MAP[self.dtype], HEAD_DIM=self.head_dim, IS_CAUSAL=self.is_causal + ) + elif self.direction == "bwd": + return KERNEL_IMPL_TEMPLATE_BWD.format( + DTYPE=DTYPE_MAP[self.dtype], HEAD_DIM=self.head_dim, IS_CAUSAL=self.is_causal + ) + else: + return KERNEL_IMPL_TEMPLATE_FWD_SPLIT.format( + DTYPE=DTYPE_MAP[self.dtype], HEAD_DIM=self.head_dim, IS_CAUSAL=self.is_causal + ) + + @property + def filename(self) -> str: + return f"flash_{self.direction}_hdim{self.head_dim}_{self.dtype}_{'causal_' if self.is_causal == 'true' else ''}sm{self.sm}.cu" + + +def get_all_kernels() -> List[Kernel]: + for direction in ["fwd", "fwd_split", "bwd"]: + for dtype, head_dim, is_causal, sm in itertools.product(DTYPE_MAP.keys(), HEAD_DIMENSIONS, IS_CAUSAL, SM): + yield Kernel(sm=sm, dtype=dtype, head_dim=head_dim, is_causal=is_causal, direction=direction) + + +def write_kernel(kernel: Kernel, autogen_dir: Path) -> None: + prelude = """// Copyright (c) 2024, Tri Dao. +// Splitting the different head dimensions to different files to speed up compilation. +// This file is auto-generated. See "generate_kernels.py"\n +""" + (autogen_dir / kernel.filename).write_text(prelude + kernel.template) + + +def main(output_dir: Optional[str]) -> None: + if output_dir is None: + output_dir = Path(__file__).parent + else: + output_dir = Path(output_dir) + + for kernel in get_all_kernels(): + write_kernel(kernel, output_dir) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + prog="generate_kernels", + description="Generate the flash_attention kernels template instantiations", + ) + # Set an optional output directory + parser.add_argument( + "-o", + "--output_dir", + required=False, + help="Where to generate the kernels " + " will default to the current directory ", + ) + args = parser.parse_args() + main(args.output_dir) diff --git a/examples/CPM.cu/src/flash_attn/src/kernel_traits.h b/examples/CPM.cu/src/flash_attn/src/kernel_traits.h new file mode 100644 index 00000000..91178dc3 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/kernel_traits.h @@ -0,0 +1,349 @@ +/****************************************************************************** + * Copyright (c) 2024, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include "cute/tensor.hpp" + +#include "cutlass/cutlass.h" +#include "cutlass/layout/layout.h" +#include <cutlass/numeric_types.h> + +using namespace cute; + +template<int kHeadDim_, int kBlockM_, int kBlockN_, int kNWarps_, typename elem_type=cutlass::half_t> +struct Flash_kernel_traits { + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + using Element = elem_type; + static constexpr bool Has_cp_async = true; +#else + using Element = cutlass::half_t; + static constexpr bool Has_cp_async = false; +#endif + + using ElementAccum = float; + using index_t = int64_t; + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + using MMA_Atom_Arch = std::conditional_t< + std::is_same_v<elem_type, cutlass::half_t>, + MMA_Atom<SM80_16x8x16_F32F16F16F32_TN>, + MMA_Atom<SM80_16x8x16_F32BF16BF16F32_TN> + >; +#else + using MMA_Atom_Arch = MMA_Atom<SM75_16x8x8_F32F16F16F32_TN>; +#endif + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 750 + using SmemCopyAtom = Copy_Atom<SM75_U32x4_LDSM_N, elem_type>; + using SmemCopyAtomTransposed = Copy_Atom<SM75_U16x8_LDSM_T, elem_type>; +#else + using SmemCopyAtom = Copy_Atom<DefaultCopy, elem_type>; + using SmemCopyAtomTransposed = Copy_Atom<DefaultCopy, elem_type>; +#endif +}; + +// If Share_Q_K_smem is true, that forces Is_Q_in_regs to be true +template<int kHeadDim_, int kBlockM_, int kBlockN_, int kNWarps_, bool Is_Q_in_regs_=false, bool Share_Q_K_smem_=false, typename elem_type=cutlass::half_t, + typename Base=Flash_kernel_traits<kHeadDim_, kBlockM_, kBlockN_, kNWarps_, elem_type> > +struct Flash_fwd_kernel_traits : public Base { + using Element = typename Base::Element; + using ElementAccum = typename Base::ElementAccum; + using index_t = typename Base::index_t; + static constexpr bool Has_cp_async = Base::Has_cp_async; + using SmemCopyAtom = typename Base::SmemCopyAtom; + using SmemCopyAtomTransposed = typename Base::SmemCopyAtomTransposed; + + static constexpr bool Share_Q_K_smem = Share_Q_K_smem_; + static constexpr bool Is_Q_in_regs = Is_Q_in_regs_ || Share_Q_K_smem; + + // The number of threads. + static constexpr int kNWarps = kNWarps_; + static constexpr int kNThreads = kNWarps * 32; + + static constexpr int kBlockM = kBlockM_; + static constexpr int kBlockN = kBlockN_; + static constexpr int kHeadDim = kHeadDim_; + static_assert(kHeadDim % 32 == 0); + static constexpr int kBlockKSmem = kHeadDim % 64 == 0 ? 64 : 32; + static constexpr int kBlockKGmem = kHeadDim % 128 == 0 ? 128 : (kHeadDim % 64 == 0 ? 64 : 32); + static constexpr int kSwizzle = kBlockKSmem == 32 ? 2 : 3; + + using TiledMma = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout<Shape<Int<kNWarps>,_1,_1>>, // 4x1x1 or 8x1x1 thread group + Tile<Int<16 * kNWarps>, _16, _16>>; + + using SmemLayoutAtomQ = decltype( + composition(Swizzle<kSwizzle, 3, 3>{}, + // This has to be kBlockKSmem, using kHeadDim gives wrong results for d=128 + Layout<Shape<_8, Int<kBlockKSmem>>, + Stride<Int<kBlockKSmem>, _1>>{})); + using SmemLayoutQ = decltype(tile_to_shape( + SmemLayoutAtomQ{}, + Shape<Int<kBlockM>, Int<kHeadDim>>{})); + + using SmemLayoutKV = decltype(tile_to_shape( + SmemLayoutAtomQ{}, + Shape<Int<kBlockN>, Int<kHeadDim>>{})); + + // https://github.com/ColfaxResearch/cutlass-kernels/blob/a222587e6d59b93ba704853d3946fb686d8b8892/src/fmha/fmha_forward.cu#L434 + using SmemLayoutVtransposed = decltype( + composition(SmemLayoutKV{}, make_layout(Shape<Int<kHeadDim>, Int<kBlockN>>{}, GenRowMajor{}))); + using SmemLayoutVtransposedNoSwizzle = decltype(get_nonswizzle_portion(SmemLayoutVtransposed{})); + + using SmemLayoutAtomO = decltype( + composition(Swizzle<kSwizzle, 3, 3>{}, + Layout<Shape<Int<8>, Int<kBlockKSmem>>, + Stride<Int<kBlockKSmem>, _1>>{})); + using SmemLayoutO = decltype(tile_to_shape( + SmemLayoutAtomO{}, + Shape<Int<kBlockM>, Int<kHeadDim>>{})); + using SmemCopyAtomO = Copy_Atom<DefaultCopy, Element>; + using SmemCopyAtomOaccum = Copy_Atom<DefaultCopy, ElementAccum>; + + static constexpr int kSmemQSize = size(SmemLayoutQ{}) * sizeof(Element); + static constexpr int kSmemKVSize = size(SmemLayoutKV{}) * 2 * sizeof(Element); + static constexpr int kSmemSize = Share_Q_K_smem ? std::max(kSmemQSize, kSmemKVSize) : kSmemQSize + kSmemKVSize; + + static constexpr int kGmemElemsPerLoad = sizeof(cute::uint128_t) / sizeof(Element); + static_assert(kHeadDim % kGmemElemsPerLoad == 0, "kHeadDim must be a multiple of kGmemElemsPerLoad"); + // Using kBlockKSmem here is 6-10% faster than kBlockKGmem for d=128 because of bank conflicts. + // For example, for d=128, smem is split into 2 "pages", each page takes care of columns + // 0-63 and 64-127. If we have 16 threads per row for gmem read, when we write to smem, + // thread 0 - 7 will write to the first page and thread 8 - 15 will write to the second page, + // to the same banks. + static constexpr int kGmemThreadsPerRow = kBlockKSmem / kGmemElemsPerLoad; + static_assert(kNThreads % kGmemThreadsPerRow == 0, "kNThreads must be a multiple of kGmemThreadsPerRow"); + using GmemLayoutAtom = Layout<Shape <Int<kNThreads / kGmemThreadsPerRow>, Int<kGmemThreadsPerRow>>, + Stride<Int<kGmemThreadsPerRow>, _1>>; + + // We use CACHEGLOBAL instead of CACHEALWAYS for both Q and K/V, since we won't be reading + // from the same address by the same threadblock. This is slightly faster. + using Gmem_copy_struct = std::conditional_t< + Has_cp_async, + SM80_CP_ASYNC_CACHEGLOBAL<cute::uint128_t>, + DefaultCopy + >; + using GmemTiledCopyQKV = decltype( + make_tiled_copy(Copy_Atom<Gmem_copy_struct, Element>{}, + GmemLayoutAtom{}, + Layout<Shape<_1, _8>>{})); // Val layout, 8 vals per read + using GmemTiledCopyO = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, Element>{}, + GmemLayoutAtom{}, + Layout<Shape<_1, _8>>{})); // Val layout, 8 vals per store + + using GmemLayoutAtomOaccum = std::conditional_t< + kNThreads == 32, // Special case for 1 warp (splitkv scenario) + Layout<Shape <_4, _8>, // 4 rows x 8 cols = 32 threads, matches combine kernel + Stride< _8, _1>>, + std::conditional_t< + kBlockKSmem == 32, + Layout<Shape <_16, _8>, // Thread layout, 8 threads per row + Stride< _8, _1>>, + Layout<Shape <_8, _16>, // Thread layout, 16 threads per row + Stride< _16, _1>> + > + >; + using GmemTiledCopyOaccum = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, ElementAccum>{}, + GmemLayoutAtomOaccum{}, + Layout<Shape < _1, _4>>{})); // Val layout, 4 vals per store + using GmemLayoutAtomRotcossin = GmemLayoutAtom; + using GmemTiledCopyRotcossin = decltype( + make_tiled_copy(Copy_Atom<UniversalCopy<uint64_t>, Element>{}, + GmemLayoutAtomRotcossin{}, + Layout<Shape < _1, _4>>{})); // Val layout, 4 vals per load + using GmemTiledCopyRotcossinCont = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, Element>{}, + GmemLayoutAtomRotcossin{}, + Layout<Shape < _1, _8>>{})); // Val layout, 8 vals per load +}; + +// Is_V_in_regs is an option to reduce smem usage, but will increase register pressue. +// No_double_buffer is another option to reduce smem usage, but will slow things down. +template<int kHeadDim_, int kBlockM_, int kBlockN_, int kNWarps_, + int AtomLayoutMSdP_=1, int AtomLayoutNdKV=2, int AtomLayoutMdQ=2, + bool Is_V_in_regs_=false, bool No_double_buffer_=false, typename elem_type=cutlass::half_t, + typename Base=Flash_kernel_traits<kHeadDim_, kBlockM_, kBlockN_, kNWarps_, elem_type> > +struct Flash_bwd_kernel_traits : public Base { + using Element = typename Base::Element; + using ElementAccum = typename Base::ElementAccum; + using index_t = typename Base::index_t; + static constexpr bool Has_cp_async = Base::Has_cp_async; + using SmemCopyAtom = typename Base::SmemCopyAtom; + using SmemCopyAtomTransposed = typename Base::SmemCopyAtomTransposed; + + static constexpr bool Is_V_in_regs = Is_V_in_regs_; + static constexpr bool No_double_buffer = No_double_buffer_; + + // The number of threads. + static constexpr int kNWarps = kNWarps_; + static constexpr int kNThreads = kNWarps * 32; + + static constexpr int kBlockM = kBlockM_; + static constexpr int kBlockN = kBlockN_; + static constexpr int kHeadDim = kHeadDim_; + static_assert(kHeadDim % 32 == 0); + static constexpr int kBlockKSmem = kHeadDim % 64 == 0 ? 64 : 32; + static constexpr int kBlockKGmem = kHeadDim % 128 == 0 ? 128 : (kHeadDim % 64 == 0 ? 64 : 32); + static constexpr int kSwizzle = kBlockKSmem == 32 ? 2 : 3; + + static constexpr int AtomLayoutMSdP = AtomLayoutMSdP_; + static_assert(kNWarps % AtomLayoutMSdP == 0); + static_assert(kNWarps % AtomLayoutNdKV == 0); + static_assert(kNWarps % AtomLayoutMdQ == 0); + + using TiledMmaSdP = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout<Shape<Int<AtomLayoutMSdP>, Int<kNWarps / AtomLayoutMSdP>, _1>>, + Tile<Int<16 * AtomLayoutMSdP>, Int<16 * kNWarps / AtomLayoutMSdP>, _16>>; + + using TiledMmadKV = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout<Shape<Int<AtomLayoutNdKV>, Int<kNWarps / AtomLayoutNdKV>, _1>>, + Tile<Int<16 * AtomLayoutNdKV>, Int<16 * kNWarps / AtomLayoutNdKV>, _16>>; + + using TiledMmadQ = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout<Shape<Int<AtomLayoutMdQ>, Int<kNWarps / AtomLayoutMdQ>, _1>>, // 2x4x1 or 4x2x1 thread group + Tile<Int<16 * AtomLayoutMdQ>, Int<16 * kNWarps / AtomLayoutMdQ>, _16>>; + + using SmemLayoutAtomQdO = decltype( + composition(Swizzle<kSwizzle, 3, 3>{}, + Layout<Shape<_8, Int<kBlockKSmem>>, + Stride<Int<kBlockKSmem>, _1>>{})); + using SmemLayoutQdO = decltype(tile_to_shape( + SmemLayoutAtomQdO{}, + make_shape(Int<kBlockM>{}, Int<kHeadDim>{}))); + + using SmemLayoutAtomKV = decltype( + composition(Swizzle<kSwizzle, 3, 3>{}, + Layout<Shape<Int<kBlockM / kNWarps>, Int<kBlockKSmem>>, + Stride<Int<kBlockKSmem>, _1>>{})); + using SmemLayoutKV = decltype(tile_to_shape( + // SmemLayoutAtomQdO{}, + SmemLayoutAtomKV{}, + make_shape(Int<kBlockN>{}, Int<kHeadDim>{}))); + + using SmemLayoutKtransposed = decltype( + composition(SmemLayoutKV{}, make_layout(Shape<Int<kHeadDim>, Int<kBlockN>>{}, GenRowMajor{}))); + using SmemLayoutKtransposedNoSwizzle = decltype(get_nonswizzle_portion(SmemLayoutKtransposed{})); + + // TODO: generalize to other values of kBlockN + // TODO: what should be the Swizzle here? 3 is faster than 1, and 1 is faster than 2 + // static constexpr int kPBlockN = kBlockN; + // Temporarily disabling this for hdim 256 on sm86 and sm89 + // static_assert(kBlockN >= 64); + static_assert(kBlockN >= 32); + // TD [2023-03-19]: Idk why kPBlockN = 16 and kSwizzlePdS=3 is the fastest. + static constexpr int kPBlockN = kBlockN >= 64 ? 64 : 32; + static_assert(kPBlockN == 16 || kPBlockN == 32 || kPBlockN == 64); + // static constexpr int kSwizzlePdS = kPBlockN == 16 ? 1 : (kPBlockN == 32 ? 2 : 3); + static constexpr int kSwizzlePdS = 3; + using SmemLayoutAtomPdS = decltype( + composition(Swizzle<kSwizzlePdS, 3, 3>{}, + Layout<Shape<Int<kBlockM>, Int<kPBlockN>>, + Stride<Int<kPBlockN>, _1>>{})); + using SmemLayoutPdS = decltype(tile_to_shape( + SmemLayoutAtomPdS{}, + make_shape(Int<kBlockM>{}, Int<kBlockN>{}))); + using SmemLayoutPdStransposed = decltype( + composition(SmemLayoutPdS{}, make_layout(Shape<Int<kBlockN>, Int<kBlockM>>{}, GenRowMajor{}))); + using SmemLayoutPdStransposedNoSwizzle = decltype(get_nonswizzle_portion(SmemLayoutPdStransposed{})); + + using SmemCopyAtomPdS = Copy_Atom<DefaultCopy, elem_type>; + + using SmemLayoutQdOtransposed = decltype( + composition(SmemLayoutQdO{}, make_layout(Shape<Int<kHeadDim>, Int<kBlockM>>{}, GenRowMajor{}))); + using SmemLayoutQdOtransposedNoSwizzle = decltype(get_nonswizzle_portion(SmemLayoutQdOtransposed{})); + + using SmemLayoutAtomdKV = decltype( + composition(Swizzle<kSwizzle, 3, 3>{}, + Layout<Shape<_8, Int<kBlockKSmem>>, + Stride<Int<kBlockKSmem>, _1>>{})); + using SmemLayoutdKV = decltype(tile_to_shape( + SmemLayoutAtomdKV{}, + make_shape(Int<kBlockN>{}, Int<kHeadDim>{}))); + using SmemCopyAtomdKV = Copy_Atom<DefaultCopy, elem_type>; + + using SmemLayoutAtomdQ = decltype( + composition(Swizzle<kSwizzle, 3, 3>{}, + Layout<Shape<_8, Int<kBlockKSmem>>, + Stride<Int<kBlockKSmem>, _1>>{})); + using SmemLayoutdQ = decltype(tile_to_shape( + SmemLayoutAtomdQ{}, + make_shape(Int<kBlockM>{}, Int<kHeadDim>{}))); + using SmemCopyAtomdQ = Copy_Atom<DefaultCopy, elem_type>; + + // Double buffer for sQ + static constexpr int kSmemQdOSize = size(SmemLayoutQdO{}) * (No_double_buffer ? 2 : 3) * sizeof(Element); + static constexpr int kSmemKVSize = size(SmemLayoutKV{}) * 2 * sizeof(Element); + static constexpr int kSmemdSSize = size(SmemLayoutPdS{}) * sizeof(Element); + static constexpr int kSmemPSize = size(SmemLayoutPdS{}) * sizeof(Element); + static constexpr int kSmemdQSize = size(SmemLayoutdQ{}) * sizeof(Element); + static constexpr int kSmemSize = kSmemQdOSize + + (!Is_V_in_regs + ? kSmemKVSize + kSmemdSSize + std::max(kSmemPSize, kSmemdQSize) + : std::max(kSmemKVSize, kSmemKVSize / 2 + kSmemdSSize + std::max(kSmemPSize, kSmemdQSize))); + static constexpr int kSmemSize1colblock = kSmemQdOSize + + (!Is_V_in_regs + ? kSmemKVSize + kSmemdSSize + kSmemPSize + : std::max(kSmemKVSize, kSmemKVSize / 2 + kSmemdSSize + kSmemPSize)); + + static constexpr int kGmemElemsPerLoad = sizeof(cute::uint128_t) / sizeof(Element); + static_assert(kHeadDim % kGmemElemsPerLoad == 0, "kHeadDim must be a multiple of kGmemElemsPerLoad"); + // Using kBlockKSmem instead of kHeadDim here to avoid bank conflicts, but doesn't seem + // to affect speed in practice. + static constexpr int kGmemThreadsPerRow = kBlockKSmem / kGmemElemsPerLoad; + static_assert(kNThreads % kGmemThreadsPerRow == 0, "kNThreads must be a multiple of kGmemThreadsPerRow"); + using GmemLayoutAtom = Layout<Shape <Int<kNThreads / kGmemThreadsPerRow>, Int<kGmemThreadsPerRow>>, + Stride<Int<kGmemThreadsPerRow>, _1>>; + + // We use CACHEGLOBAL instead of CACHEALWAYS for both Q and K/V, since we won't be reading + // from the same address by the same threadblock. This is slightly faster. + using Gmem_copy_struct = std::conditional_t< + Has_cp_async, + SM80_CP_ASYNC_CACHEGLOBAL<cute::uint128_t>, + DefaultCopy + >; + using GmemTiledCopyQKV = decltype( + make_tiled_copy(Copy_Atom<Gmem_copy_struct, elem_type>{}, + GmemLayoutAtom{}, + Layout<Shape<_1, _8>>{})); // Val layout, 8 vals per read + using GmemTiledCopydO = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, elem_type>{}, + GmemLayoutAtom{}, + Layout<Shape < _1, _8>>{})); // Val layout, 8 vals per store + using GmemTiledCopydKV = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, elem_type>{}, + GmemLayoutAtom{}, + Layout<Shape < _1, _8>>{})); // Val layout, 8 vals per store + using GmemTiledCopydQ = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, elem_type>{}, + GmemLayoutAtom{}, + Layout<Shape < _1, _8>>{})); // Val layout, 8 vals per store + using GmemLayoutAtomdQaccum = std::conditional_t< + kBlockKSmem == 32, + Layout<Shape <_32, _8>, // Thread layout, 8 threads per row + Stride< _8, _1>>, + Layout<Shape <_16, _16>, // Thread layout, 16 threads per row + Stride< _16, _1>> + >; + using GmemTiledCopydQaccum = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, ElementAccum>{}, + GmemLayoutAtomdQaccum{}, + Layout<Shape < _1, _4>>{})); // Val layout, 4 vals per store + + using GmemTiledCopydQaccumAtomicAdd = decltype( + make_tiled_copy(Copy_Atom<DefaultCopy, ElementAccum>{}, + Layout<Shape <_8, _32>, // Thread layout, 8 threads per row + Stride<_32, _1>>{}, + Layout<Shape < _1, _1>>{})); // Val layout, 1 val per store + +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/examples/CPM.cu/src/flash_attn/src/mask.h b/examples/CPM.cu/src/flash_attn/src/mask.h new file mode 100644 index 00000000..026f2578 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/mask.h @@ -0,0 +1,328 @@ +/****************************************************************************** + * Copyright (c) 2024, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include <cute/tensor.hpp> + +namespace flash { + +using namespace cute; + +template <typename Engine, typename Layout> +__forceinline__ __device__ void apply_mask(Tensor<Engine, Layout> &tensor, const int max_seqlen_k, + const int col_idx_offset_ = 0) { + // tensor has shape (nrow=(2, MMA_M), ncol=(2, MMA_N)) + static_assert(Layout::rank == 2, "Only support 2D Tensor"); + const int lane_id = threadIdx.x % 32; + const int col_idx_offset = col_idx_offset_ + (lane_id % 4) * 2; + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + if (col_idx >= max_seqlen_k) { + // Without the "make_coord" we get wrong results + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + tensor(mi, make_coord(j, nj)) = -INFINITY; + } + } + } + } +} + +template <bool HasWSLeft=true, typename Engine, typename Layout> +__forceinline__ __device__ void apply_mask_local(Tensor<Engine, Layout> &tensor, const int col_idx_offset_, + const int max_seqlen_k, const int row_idx_offset, + const int max_seqlen_q, const int warp_row_stride, + const int window_size_left, const int window_size_right) { + // tensor has shape (nrow=(2, MMA_M), ncol=(2, MMA_N)) + static_assert(Layout::rank == 2, "Only support 2D Tensor"); + const int lane_id = threadIdx.x % 32; + const int col_idx_offset = col_idx_offset_ + (lane_id % 4) * 2; + #pragma unroll + for (int mi = 0; mi < size<0, 1>(tensor); ++mi) { + const int row_idx_base = row_idx_offset + mi * warp_row_stride; + #pragma unroll + for (int i = 0; i < size<0, 0>(tensor); ++i) { + const int row_idx = row_idx_base + i * 8; + const int col_idx_limit_left = std::max(0, row_idx + max_seqlen_k - max_seqlen_q - window_size_left); + const int col_idx_limit_right = std::min(max_seqlen_k, row_idx + 1 + max_seqlen_k - max_seqlen_q + window_size_right); + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + if (col_idx >= col_idx_limit_right || (HasWSLeft && col_idx < col_idx_limit_left)) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + } + // if (cute::thread0()) { + // printf("mi = %d, i = %d, row_idx = %d, max_seqlen_k = %d\n", mi, i, row_idx, max_seqlen_k); + // print(tensor(make_coord(i, mi), _)); + // // print(tensor(_, j + nj * size<1, 0>(tensor))); + // } + } + } +} + +template <typename Engine, typename Layout> +__forceinline__ __device__ void apply_mask_causal(Tensor<Engine, Layout> &tensor, const int col_idx_offset_, + const int max_seqlen_k, const int row_idx_offset, + const int max_seqlen_q, const int warp_row_stride) { + // Causal masking is equivalent to local masking with window_size_left = infinity and window_size_right = 0 + apply_mask_local</*HasWSLeft=*/false>(tensor, col_idx_offset_, max_seqlen_k, row_idx_offset, + max_seqlen_q, warp_row_stride, -1, 0); +} + +template <typename Engine0, typename Layout0, typename Engine1, typename Layout1> +__forceinline__ __device__ void apply_mask_causal_w_idx( + Tensor<Engine0, Layout0> &tensor, Tensor<Engine1, Layout1> const &idx_rowcol, + const int col_idx_offset_, const int max_seqlen_k, const int row_idx_offset) +{ + // tensor has shape (nrow=(2, MMA_M), ncol=(2, MMA_N)) + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 2, "Only support 2D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(tensor) == size<0>(idx_rowcol)); + CUTE_STATIC_ASSERT_V(size<1>(tensor) == size<1>(idx_rowcol)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + const int col_idx_limit = std::min(max_seqlen_k, 1 + row_idx_offset + get<0>(idx_rowcol(mi, 0))); + #pragma unroll + for (int ni = 0; ni < size<1, 1>(tensor); ++ni) { + if (col_idx_offset_ + get<1>(idx_rowcol(0, ni)) >= col_idx_limit) { + tensor(mi, ni) = -INFINITY; + } + } + // if (cute::thread0()) { + // printf("ni = %d, j = %d, col_idx = %d, max_seqlen_k = %d\n", ni, j, col_idx, max_seqlen_k); + // print(tensor(_, make_coord(j, ni))); + // // print(tensor(_, j + ni * size<1, 0>(tensor))); + // } + } +} + +template <bool Is_causal, bool Is_local, bool Has_alibi, bool Mask_2d=false> +struct Mask { + + const int max_seqlen_k, max_seqlen_q; + const int window_size_left, window_size_right; + const uint64_t *mask_2d; + const int mask_q_range, mask_k_begin; + const float alibi_slope; + const int m_block_dim; + + __forceinline__ __device__ Mask(const int max_seqlen_k, const int max_seqlen_q, + const int window_size_left, const int window_size_right, + const float alibi_slope=0.f, + const uint64_t *mask_2d = nullptr, + const int mask_q_range = 0, + const int mask_k_range = 0, + const int m_block_dim = 1) + : max_seqlen_k(max_seqlen_k) + , max_seqlen_q(max_seqlen_q) + , window_size_left(window_size_left) + , window_size_right(window_size_right) + , mask_2d(mask_2d) + , mask_q_range(mask_q_range) + , mask_k_begin(max_seqlen_k - mask_k_range) + , alibi_slope(!Has_alibi ? 0.0 : alibi_slope) + , m_block_dim(m_block_dim) { + }; + + // Causal_mask: whether this particular iteration needs causal masking + template <bool Causal_mask=false, bool Is_even_MN=true, typename Engine, typename Layout> + __forceinline__ __device__ void apply_mask(Tensor<Engine, Layout> &tensor_, + const int col_idx_offset_, + const int row_idx_offset, + const int warp_row_stride) { + static_assert(!(Causal_mask && Is_local), "Cannot be both causal and local"); + static_assert(Layout::rank == 3, "Only support 3D Tensor"); + static_assert(decltype(size<0>(tensor_))::value == 4, "First dimension must be 4"); + static constexpr bool Need_masking = Has_alibi || Causal_mask || Is_local || !Is_even_MN; + // if (cute::thread0()) { printf("Has_alibi = %d, Causal_mask=%d, Is_local=%d, Is_even_MN = %d, Need_masking = %d\n", Has_alibi, Causal_mask, Is_local, Is_even_MN, Need_masking); } + if constexpr (Need_masking) { + // Reshape tensor_ from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + Tensor tensor = make_tensor(tensor_.data(), flash::convert_layout_acc_rowcol(tensor_.layout())); + // Do we need both row and column indices, or just column incides? + static constexpr bool Col_idx_only = !(Has_alibi && !Is_causal) && !Is_local && !Causal_mask; + const int lane_id = threadIdx.x % 32; + const int col_idx_offset = col_idx_offset_ + (lane_id % 4) * 2; + if constexpr (Col_idx_only) { + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + // No causal, no local + if constexpr (Has_alibi) { + tensor(mi, make_coord(j, nj)) += alibi_slope * col_idx; + } + if constexpr (!Is_even_MN) { + if (col_idx >= max_seqlen_k) { tensor(mi, make_coord(j, nj)) = -INFINITY; } + } + } + } + } + } else { + #pragma unroll + for (int mi = 0; mi < size<0, 1>(tensor); ++mi) { + const int row_idx_base = row_idx_offset + mi * warp_row_stride; + #pragma unroll + for (int i = 0; i < size<0, 0>(tensor); ++i) { + const int row_idx = row_idx_base + i * 8; + const int orig_row_idx = row_idx / this->m_block_dim; + const int orig_max_seqlen_q = max_seqlen_q / this->m_block_dim; + + const int col_idx_limit_left = std::max(0, orig_row_idx + max_seqlen_k - orig_max_seqlen_q - window_size_left); + const int col_idx_limit_right = std::min(max_seqlen_k, orig_row_idx + 1 + max_seqlen_k - orig_max_seqlen_q + window_size_right); + const uint64_t mask = (Mask_2d && orig_row_idx < mask_q_range) ? mask_2d[orig_row_idx] : 0; + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + if constexpr (Mask_2d) { + if (col_idx >= mask_k_begin && (mask >> (col_idx - mask_k_begin) & 1) == 0) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + if constexpr (Has_alibi) { + if constexpr (Is_causal) { + tensor(make_coord(i, mi), make_coord(j, nj)) += alibi_slope * col_idx; + } else { + tensor(make_coord(i, mi), make_coord(j, nj)) -= alibi_slope * abs(orig_row_idx + max_seqlen_k - orig_max_seqlen_q - col_idx); + + } + } + if constexpr (Causal_mask) { + if (col_idx >= col_idx_limit_right) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + if constexpr (Is_local) { + if (col_idx >= col_idx_limit_right || col_idx < col_idx_limit_left) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + if constexpr (!Causal_mask && !Is_local && !Is_even_MN) { + // Causal and Local already handles MN masking + if (col_idx >= max_seqlen_k) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + } + } + } + } + } + } + }; + + // Causal_mask: whether this particular iteration needs causal masking + template <bool Causal_mask=false, bool Is_even_MN=true, typename Engine, typename Layout> + __forceinline__ __device__ void apply_mask_stage1(Tensor<Engine, Layout> &tensor_, + const int col_idx_offset_, + const int row_idx_offset, + const int warp_row_stride) { + static_assert(!(Causal_mask && Is_local), "Cannot be both causal and local"); + static_assert(Layout::rank == 3, "Only support 3D Tensor"); + static_assert(decltype(size<0>(tensor_))::value == 4, "First dimension must be 4"); + static constexpr bool Need_masking = Has_alibi || Causal_mask || Is_local || !Is_even_MN; + // if (cute::thread0()) { printf("Has_alibi = %d, Causal_mask=%d, Is_local=%d, Is_even_MN = %d, Need_masking = %d\n", Has_alibi, Causal_mask, Is_local, Is_even_MN, Need_masking); } + if constexpr (Need_masking) { + // Reshape tensor_ from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + Tensor tensor = make_tensor(tensor_.data(), flash::convert_layout_acc_rowcol(tensor_.layout())); + // Do we need both row and column indices, or just column incides? + static constexpr bool Col_idx_only = !(Has_alibi && !Is_causal) && !Is_local && !Causal_mask; + const int lane_id = threadIdx.x % 32; + const int col_idx_offset = col_idx_offset_ + (lane_id % 4) * 2; + if constexpr (Col_idx_only) { + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + // No causal, no local + if constexpr (Has_alibi) { + tensor(mi, make_coord(j, nj)) += alibi_slope * col_idx; + } + if constexpr (!Is_even_MN) { + if (col_idx >= max_seqlen_k) { tensor(mi, make_coord(j, nj)) = -INFINITY; } + } + } + } + } + } else { + #pragma unroll + for (int mi = 0; mi < size<0, 1>(tensor); ++mi) { + const int row_idx_base = row_idx_offset + mi * warp_row_stride; + #pragma unroll + for (int i = 0; i < size<0, 0>(tensor); ++i) { + const int row_idx = row_idx_base + i * 8; + + const int orig_row_idx = row_idx / this->m_block_dim; + + const int col_idx_limit_left = 0; + const int col_idx_limit_right = std::min(max_seqlen_k, (orig_row_idx - /*TODO stride=*/16 + 1) / /*TODO stride=*/16 + window_size_right); + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const int col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const int col_idx = col_idx_base + j; + if constexpr (Causal_mask) { + if (col_idx >= col_idx_limit_right) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + if constexpr (Is_local) { + if (col_idx >= col_idx_limit_right || col_idx < col_idx_limit_left) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + if constexpr (!Causal_mask && !Is_local && !Is_even_MN) { + // Causal and Local already handles MN masking + if (col_idx >= max_seqlen_k) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + } + } + } + } + } + } + }; + + template <typename Engine, typename Layout> + __forceinline__ __device__ void all_mask(Tensor<Engine, Layout> &tensor_) { + static_assert(Layout::rank == 3, "Only support 3D Tensor"); + static_assert(decltype(size<0>(tensor_))::value == 4, "First dimension must be 4"); + Tensor tensor = make_tensor(tensor_.data(), flash::convert_layout_acc_rowcol(tensor_.layout())); + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + tensor(mi, make_coord(j, nj)) = -INFINITY; + } + } + } + }; +}; + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/philox.cuh b/examples/CPM.cu/src/flash_attn/src/philox.cuh new file mode 100644 index 00000000..cd7e4d2f --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/philox.cuh @@ -0,0 +1,51 @@ +// Pytorch also has an implementation of Philox RNG: https://github.com/pytorch/pytorch/blob/8ca3c881db3e3510fcb7725389f6a0633c9b992c/torch/csrc/jit/tensorexpr/cuda_random.h +#pragma once +// Philox CUDA. + +namespace flash { + +struct ull2 { + unsigned long long x; + unsigned long long y; +}; + +__forceinline__ __device__ uint2 mulhilo32(const unsigned int a, const unsigned int b) { + uint2 *res; + unsigned long long tmp; + asm ("mul.wide.u32 %0, %1, %2;\n\t" + : "=l"(tmp) + : "r"(a), "r"(b)); + res = (uint2*)(&tmp); + return *res; +} + +__forceinline__ __device__ uint4 philox_single_round(const uint4 ctr, const uint2 key) { + constexpr unsigned long kPhiloxSA = 0xD2511F53; + constexpr unsigned long kPhiloxSB = 0xCD9E8D57; + uint2 res0 = mulhilo32(kPhiloxSA, ctr.x); + uint2 res1 = mulhilo32(kPhiloxSB, ctr.z); + uint4 ret = {res1.y ^ ctr.y ^ key.x, res1.x, res0.y ^ ctr.w ^ key.y, res0.x}; + return ret; +} + +__forceinline__ __device__ uint4 philox(unsigned long long seed, + unsigned long long subsequence, + unsigned long long offset) { + constexpr unsigned long kPhilox10A = 0x9E3779B9; + constexpr unsigned long kPhilox10B = 0xBB67AE85; + uint2 key = reinterpret_cast<uint2&>(seed); + uint4 counter; + ull2 *tmp = reinterpret_cast<ull2*>(&counter); + tmp->x = offset; + tmp->y = subsequence; + #pragma unroll + for (int i = 0; i < 6; i++) { + counter = philox_single_round(counter, key); + key.x += (kPhilox10A); + key.y += (kPhilox10B); + } + uint4 output = philox_single_round(counter, key); + return output; +} + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/rotary.h b/examples/CPM.cu/src/flash_attn/src/rotary.h new file mode 100644 index 00000000..7f1614ad --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/rotary.h @@ -0,0 +1,152 @@ +/****************************************************************************** + * Copyright (c) 2024, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include <cute/tensor.hpp> + +#include "utils.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +namespace flash { + +using namespace cute; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <bool Is_even_K=true, bool Clear_OOB_K=true, + typename Engine0, typename Layout0, typename Engine1, typename Layout1, + typename Engine2, typename Layout2, typename Engine3, typename Layout3> +__forceinline__ __device__ void copy_rotary_interleaved(Tensor<Engine0, Layout0> const &S, + Tensor<Engine1, Layout1> &D, + Tensor<Engine2, Layout2> const &Cos, + Tensor<Engine2, Layout2> const &Sin, + Tensor<Engine3, Layout3> const &identity_MN, + const int max_MN, const int min_MN, + const int dim, const int rotary_dim) { + CUTE_STATIC_ASSERT_V(rank(S) == Int<3>{}); + CUTE_STATIC_ASSERT_V(rank(D) == Int<3>{}); + CUTE_STATIC_ASSERT_V(size<0>(S) == size<0>(D)); // MMA + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(D)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(D)); // MMA_K + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(Cos)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(Cos)); // MMA_K + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(Sin)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(Sin)); // MMA_K + CUTE_STATIC_ASSERT_V(size<0>(Cos) == size<0>(Sin)); // MMA_K + static_assert(decltype(size<0>(S))::value == decltype(size<0>(Cos))::value * 2); + static_assert(decltype(size<0>(Cos))::value % 2 == 0); // Since we do fast conversion from fp16/bf16 to fp32 + Tensor rCos = make_fragment_like(Cos); + Tensor rSin = make_fragment_like(Sin); + Tensor rS = make_fragment_like(S); + #pragma unroll + for (int m = 0; m < size<1>(S); ++m) { + if (get<0>(identity_MN(0, m, 0)) >= min_MN && get<0>(identity_MN(0, m, 0)) < max_MN) { + #pragma unroll + for (int k = 0; k < size<2>(S); ++k) { + if (Is_even_K || get<1>(identity_MN(0, 0, k)) < dim) { + cute::copy(S(_, m, k), rS(_, m, k)); + if (get<1>(identity_MN(0, 0, k)) < rotary_dim) { + cute::copy(Cos(_, m, k), rCos(_, m, k)); + cute::copy(Sin(_, m, k), rSin(_, m, k)); + Tensor S_fp32 = convert_type<float>(rS(_, m, k)); + Tensor cos_fp32 = convert_type<float>(rCos(_, m, k)); + Tensor sin_fp32 = convert_type<float>(rSin(_, m, k)); + #pragma unroll + for (int i = 0; i < size<0>(rS) / 2; ++i) { + float real = S_fp32(2 * i) * cos_fp32(i) - S_fp32(2 * i + 1) * sin_fp32(i); + float imag = S_fp32(2 * i) * sin_fp32(i) + S_fp32(2 * i + 1) * cos_fp32(i); + S_fp32(2 * i) = real; + S_fp32(2 * i + 1) = imag; + } + // Idk but I need to copy for the convert_type to work + Tensor S_fp32_copy = make_fragment_like(S_fp32); + cute::copy(S_fp32, S_fp32_copy); + using T = typename Engine0::value_type; + Tensor S_og_type = convert_type<T>(S_fp32_copy); + cute::copy(S_og_type, rS(_, m, k)); + } + cute::copy(rS(_, m, k), D(_, m, k)); + } else if (Clear_OOB_K) { + cute::clear(D(_, m, k)); + } + } + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <bool Is_even_K=true, bool Clear_OOB_K=true, + typename Engine0, typename Layout0, typename Engine1, typename Layout1, + typename Engine2, typename Layout2, typename Engine3, typename Layout3> +__forceinline__ __device__ void copy_rotary_contiguous(Tensor<Engine0, Layout0> const &S, + Tensor<Engine1, Layout1> &D, + Tensor<Engine2, Layout2> const &Cos, + Tensor<Engine2, Layout2> const &Sin, + Tensor<Engine3, Layout3> const &identity_MN, + const int max_MN, const int min_MN, + const int dim, const int rotary_dim) { + CUTE_STATIC_ASSERT_V(rank(S) == Int<3>{}); + CUTE_STATIC_ASSERT_V(rank(D) == Int<3>{}); + CUTE_STATIC_ASSERT_V(size<0>(S) == size<0>(D)); // MMA + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(D)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(D)); // MMA_K + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(Cos)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(Cos)); // MMA_K + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(Sin)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(Sin)); // MMA_K + CUTE_STATIC_ASSERT_V(size<0>(S) == size<0>(Cos)); // MMA + CUTE_STATIC_ASSERT_V(size<0>(Cos) == size<0>(Sin)); + static_assert(decltype(size<0>(Cos))::value % 2 == 0); // Since we do fast conversion from fp16/bf16 to fp32 + Tensor rCos = make_fragment_like(Cos); + Tensor rSin = make_fragment_like(Sin); + Tensor rS = make_fragment_like(S); + Tensor rS_other = make_fragment_like(rS(_, 0, 0)); + #pragma unroll + for (int m = 0; m < size<1>(S); ++m) { + if (get<0>(identity_MN(0, m, 0)) >= min_MN && get<0>(identity_MN(0, m, 0)) < max_MN) { + #pragma unroll + for (int k = 0; k < size<2>(S); ++k) { + if (Is_even_K || get<1>(identity_MN(0, 0, k)) < dim) { + cute::copy(S(_, m, k), rS(_, m, k)); + if (get<1>(identity_MN(0, 0, k)) < rotary_dim) { + const bool is_left = get<1>(identity_MN(0, 0, k)) < rotary_dim / 2; + Tensor gS_other = make_tensor(S(_, m, k).data() + (is_left ? rotary_dim / 2 : -rotary_dim / 2), S(_, m, k).layout()); + cute::copy(gS_other, rS_other); + // if (cute::thread0()) { print_tensor(rS(_, m, k)); print_tensor(rS_other); } + Tensor gCos = make_tensor(Cos(_, m, k).data() + (is_left ? 0 : -rotary_dim / 2), Cos(_, m, k).layout()); + Tensor gSin = make_tensor(Sin(_, m, k).data() + (is_left ? 0 : -rotary_dim / 2), Sin(_, m, k).layout()); + cute::copy(gCos, rCos(_, m, k)); + cute::copy(gSin, rSin(_, m, k)); + // if (cute::thread0()) { print_tensor(rCos(_, m, k)); print_tensor(rSin(_, m, k)); } + Tensor S_fp32 = convert_type<float>(rS(_, m, k)); + Tensor S_other_fp32 = convert_type<float>(rS_other); + Tensor cos_fp32 = convert_type<float>(rCos(_, m, k)); + Tensor sin_fp32 = convert_type<float>(rSin(_, m, k)); + #pragma unroll + for (int i = 0; i < size<0>(rS); ++i) { + S_fp32(i) = S_fp32(i) * cos_fp32(i) + S_other_fp32(i) * (is_left ? -sin_fp32(i) : sin_fp32(i)); + } + // Idk but I need to copy for the convert_type to work + Tensor S_fp32_copy = make_fragment_like(S_fp32); + cute::copy(S_fp32, S_fp32_copy); + using T = typename Engine0::value_type; + Tensor S_og_type = convert_type<T>(S_fp32_copy); + cute::copy(S_og_type, rS(_, m, k)); + // if (cute::thread0()) { print_tensor(rS(_, m, k)); } + } + cute::copy(rS(_, m, k), D(_, m, k)); + } else if (Clear_OOB_K) { + cute::clear(D(_, m, k)); + } + } + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/softmax.h b/examples/CPM.cu/src/flash_attn/src/softmax.h new file mode 100644 index 00000000..d420f752 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/softmax.h @@ -0,0 +1,259 @@ +/****************************************************************************** + * Copyright (c) 2024, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include <cmath> + +#include <cute/tensor.hpp> + +#include <cutlass/numeric_types.h> + +#include "philox.cuh" +#include "utils.h" + +namespace flash { + +using namespace cute; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<bool zero_init=true, typename Engine0, typename Layout0, typename Engine1, typename Layout1, typename Operator> +__device__ __forceinline__ void thread_reduce_(Tensor<Engine0, Layout0> const &tensor, Tensor<Engine1, Layout1> &summary, Operator &op) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(summary) == size<0>(tensor)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); mi++) { + summary(mi) = zero_init ? tensor(mi, 0) : op(summary(mi), tensor(mi, 0)); + #pragma unroll + for (int ni = 1; ni < size<1>(tensor); ni++) { + summary(mi) = op(summary(mi), tensor(mi, ni)); + } + } +} + +template<typename Engine0, typename Layout0, typename Engine1, typename Layout1, typename Operator> +__device__ __forceinline__ void quad_allreduce_(Tensor<Engine0, Layout0> &dst, Tensor<Engine1, Layout1> &src, Operator &op) { + CUTE_STATIC_ASSERT_V(size(dst) == size(src)); + #pragma unroll + for (int i = 0; i < size(dst); i++){ + dst(i) = Allreduce<4>::run(src(i), op); + } +} + +template<bool zero_init=true, typename Engine0, typename Layout0, typename Engine1, typename Layout1, typename Operator> +__device__ __forceinline__ void reduce_(Tensor<Engine0, Layout0> const& tensor, Tensor<Engine1, Layout1> &summary, Operator &op) { + thread_reduce_<zero_init>(tensor, summary, op); + quad_allreduce_(summary, summary, op); +} + +template<bool zero_init=true, typename Engine0, typename Layout0, typename Engine1, typename Layout1> +__device__ __forceinline__ void reduce_max(Tensor<Engine0, Layout0> const& tensor, Tensor<Engine1, Layout1> &max){ + MaxOp<float> max_op; + reduce_<zero_init>(tensor, max, max_op); +} + +template<bool zero_init=true, typename Engine0, typename Layout0, typename Engine1, typename Layout1> +__device__ __forceinline__ void reduce_sum(Tensor<Engine0, Layout0> const& tensor, Tensor<Engine1, Layout1> &sum){ + SumOp<float> sum_op; + thread_reduce_<zero_init>(tensor, sum, sum_op); +} + +// Apply the exp to all the elements. +template <bool Scale_max=true, typename Engine0, typename Layout0, typename Engine1, typename Layout1> +__forceinline__ __device__ void scale_apply_exp2(Tensor<Engine0, Layout0> &tensor, Tensor<Engine1, Layout1> const &max, const float scale) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(max) == size<0>(tensor)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + // If max is -inf, then all elements must have been -inf (possibly due to masking). + // We don't want (-inf - (-inf)) since that would give NaN. + // If we don't have float around M_LOG2E the multiplication is done in fp64. + const float max_scaled = max(mi) == -INFINITY ? 0.f : max(mi) * (Scale_max ? scale : float(M_LOG2E)); + #pragma unroll + for (int ni = 0; ni < size<1>(tensor); ++ni) { + // Instead of computing exp(x - max), we compute exp2(x * log_2(e) - + // max * log_2(e)) This allows the compiler to use the ffma + // instruction instead of fadd and fmul separately. + // The following macro will disable the use of fma. + // See: https://github.com/pytorch/pytorch/issues/121558 for more details + // This macro is set in PyTorch and not FlashAttention + #ifdef UNFUSE_FMA + tensor(mi, ni) = exp2f(__fmul_rn(tensor(mi, ni), scale) - max_scaled); + #else + tensor(mi, ni) = exp2f(tensor(mi, ni) * scale - max_scaled); + #endif + } + } +} + +// Apply the exp to all the elements. +template <bool Scale_max=true, typename Engine0, typename Layout0, typename Engine1, typename Layout1> +__forceinline__ __device__ void get_softmax(Tensor<Engine0, Layout0> &tensor, Tensor<Engine1, Layout1> const &max, Tensor<Engine1, Layout1> const &sum, const float scale) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(max) == size<0>(tensor)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + // If max is -inf, then all elements must have been -inf (possibly due to masking). + // We don't want (-inf - (-inf)) since that would give NaN. + // If we don't have float around M_LOG2E the multiplication is done in fp64. + const float max_scaled = max(mi) == -INFINITY ? 0.f : max(mi) * (Scale_max ? scale : float(M_LOG2E)); + const float sum_scaled = 1. / sum(mi); + #pragma unroll + for (int ni = 0; ni < size<1>(tensor); ++ni) { + // Instead of computing exp(x - max), we compute exp2(x * log_2(e) - + // max * log_2(e)) This allows the compiler to use the ffma + // instruction instead of fadd and fmul separately. + // The following macro will disable the use of fma. + // See: https://github.com/pytorch/pytorch/issues/121558 for more details + // This macro is set in PyTorch and not FlashAttention + #ifdef UNFUSE_FMA + tensor(mi, ni) = exp2f(__fmul_rn(tensor(mi, ni), scale) - max_scaled) * sum_scaled; + #else + tensor(mi, ni) = exp2f(tensor(mi, ni) * scale - max_scaled) * sum_scaled; + #endif + } + } +} + +// Apply the exp to all the elements. +template <bool zero_init=true, typename Engine0, typename Layout0, typename Engine1, typename Layout1> +__forceinline__ __device__ void max_scale_exp2_sum(Tensor<Engine0, Layout0> &tensor, Tensor<Engine1, Layout1> &max, Tensor<Engine1, Layout1> &sum, const float scale) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(max) == size<0>(tensor)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + MaxOp<float> max_op; + max(mi) = zero_init ? tensor(mi, 0) : max_op(max(mi), tensor(mi, 0)); + #pragma unroll + for (int ni = 1; ni < size<1>(tensor); ni++) { + max(mi) = max_op(max(mi), tensor(mi, ni)); + } + max(mi) = Allreduce<4>::run(max(mi), max_op); + // If max is -inf, then all elements must have been -inf (possibly due to masking). + // We don't want (-inf - (-inf)) since that would give NaN. + const float max_scaled = max(mi) == -INFINITY ? 0.f : max(mi) * scale; + sum(mi) = 0; + #pragma unroll + for (int ni = 0; ni < size<1>(tensor); ++ni) { + // Instead of computing exp(x - max), we compute exp2(x * log_2(e) - + // max * log_2(e)) This allows the compiler to use the ffma + // instruction instead of fadd and fmul separately. + tensor(mi, ni) = exp2f(tensor(mi, ni) * scale - max_scaled); + sum(mi) += tensor(mi, ni); + } + SumOp<float> sum_op; + sum(mi) = Allreduce<4>::run(sum(mi), sum_op); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <int kNRows> +struct Softmax { + + using TensorT = decltype(make_tensor<float>(Shape<Int<kNRows>>{})); + TensorT row_max, row_sum; + + __forceinline__ __device__ Softmax() {}; + + template<bool Is_first, bool Check_inf=false, typename Tensor0, typename Tensor1> + __forceinline__ __device__ void softmax_rescale_o(Tensor0 &acc_s, Tensor1 &acc_o, float softmax_scale_log2) { + // Reshape acc_s from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + Tensor scores = make_tensor(acc_s.data(), flash::convert_layout_acc_rowcol(acc_s.layout())); + static_assert(decltype(size<0>(scores))::value == kNRows); + if (Is_first) { + flash::template reduce_max</*zero_init=*/true>(scores, row_max); + flash::scale_apply_exp2(scores, row_max, softmax_scale_log2); + flash::reduce_sum</*zero_init=*/true>(scores, row_sum); + } else { + Tensor scores_max_prev = make_fragment_like(row_max); + cute::copy(row_max, scores_max_prev); + flash::template reduce_max</*zero_init=*/false>(scores, row_max); + // Reshape acc_o from (MMA=4, MMA_M, MMA_K) to (nrow=(2, MMA_M), ncol=(2, MMA_K)) + Tensor acc_o_rowcol = make_tensor(acc_o.data(), flash::convert_layout_acc_rowcol(acc_o.layout())); + static_assert(decltype(size<0>(acc_o_rowcol))::value == kNRows); + #pragma unroll + for (int mi = 0; mi < size(row_max); ++mi) { + float scores_max_cur = !Check_inf + ? row_max(mi) + : (row_max(mi) == -INFINITY ? 0.0f : row_max(mi)); + float scores_scale = exp2f((scores_max_prev(mi) - scores_max_cur) * softmax_scale_log2); + row_sum(mi) *= scores_scale; + #pragma unroll + for (int ni = 0; ni < size<1>(acc_o_rowcol); ++ni) { acc_o_rowcol(mi, ni) *= scores_scale; } + } + flash::scale_apply_exp2(scores, row_max, softmax_scale_log2); + // We don't do the reduce across threads here since we don't need to use the row_sum. + // We do that reduce at the end when we need to normalize the softmax. + flash::reduce_sum</*zero_init=*/false>(scores, row_sum); + } + }; + + template<bool Is_first, bool Check_inf=false, typename Tensor0> + __forceinline__ __device__ void softmax_rescale_simple(Tensor0 &acc_s, float softmax_scale_log2) { + // Reshape acc_s from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + Tensor scores = make_tensor(acc_s.data(), flash::convert_layout_acc_rowcol(acc_s.layout())); + static_assert(decltype(size<0>(scores))::value == kNRows); + if (Is_first) { + flash::template reduce_max</*zero_init=*/true>(scores, row_max); + flash::scale_apply_exp2(scores, row_max, softmax_scale_log2); + flash::reduce_sum</*zero_init=*/true>(scores, row_sum); + } else { + Tensor scores_max_prev = make_fragment_like(row_max); + cute::copy(row_max, scores_max_prev); + flash::template reduce_max</*zero_init=*/false>(scores, row_max); + #pragma unroll + for (int mi = 0; mi < size(row_max); ++mi) { + float scores_max_cur = !Check_inf + ? row_max(mi) + : (row_max(mi) == -INFINITY ? 0.0f : row_max(mi)); + float scores_scale = exp2f((scores_max_prev(mi) - scores_max_cur) * softmax_scale_log2); + row_sum(mi) *= scores_scale; + } + flash::scale_apply_exp2(scores, row_max, softmax_scale_log2); + // We don't do the reduce across threads here since we don't need to use the row_sum. + // We do that reduce at the end when we need to normalize the softmax. + flash::reduce_sum</*zero_init=*/false>(scores, row_sum); + } + }; + + template<typename Tensor0> + __forceinline__ __device__ void softmax_rescale_gt(Tensor0 &acc_s, float softmax_scale_log2) { + // Reshape acc_s from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + Tensor scores = make_tensor(acc_s.data(), flash::convert_layout_acc_rowcol(acc_s.layout())); + static_assert(decltype(size<0>(scores))::value == kNRows); + flash::get_softmax(scores, row_max, row_sum, softmax_scale_log2); + }; + + __forceinline__ __device__ void get_row_sum() { + SumOp<float> sum_op; + quad_allreduce_(row_sum, row_sum, sum_op); + } + + template<bool Is_dropout=false, bool Split=false, typename Tensor0> + __forceinline__ __device__ TensorT normalize_softmax_lse(Tensor0 &acc_o, float softmax_scale, float rp_dropout=1.0) { + SumOp<float> sum_op; + quad_allreduce_(row_sum, row_sum, sum_op); + TensorT lse = make_fragment_like(row_sum); + Tensor acc_o_rowcol = make_tensor(acc_o.data(), flash::convert_layout_acc_rowcol(acc_o.layout())); + static_assert(decltype(size<0>(acc_o_rowcol))::value == kNRows); + #pragma unroll + for (int mi = 0; mi < size<0>(acc_o_rowcol); ++mi) { + float sum = row_sum(mi); + float inv_sum = (sum == 0.f || sum != sum) ? 1.f : 1.f / sum; + lse(mi) = (sum == 0.f || sum != sum) ? (Split ? -INFINITY : INFINITY) : row_max(mi) * softmax_scale + __logf(sum); + float scale = !Is_dropout ? inv_sum : inv_sum * rp_dropout; + #pragma unroll + for (int ni = 0; ni < size<1>(acc_o_rowcol); ++ni) { acc_o_rowcol(mi, ni) *= scale; } + } + return lse; + }; +}; + +} // namespace flash diff --git a/examples/CPM.cu/src/flash_attn/src/static_switch.h b/examples/CPM.cu/src/flash_attn/src/static_switch.h new file mode 100644 index 00000000..55b265fa --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/static_switch.h @@ -0,0 +1,142 @@ +// Inspired by +// https://github.com/NVIDIA/DALI/blob/main/include/dali/core/static_switch.h +// and https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/Dispatch.h + +#pragma once + +#include <stdexcept> + +/// @param COND - a boolean expression to switch by +/// @param CONST_NAME - a name given for the constexpr bool variable. +/// @param ... - code to execute for true and false +/// +/// Usage: +/// ``` +/// BOOL_SWITCH(flag, BoolConst, [&] { +/// some_function<BoolConst>(...); +/// }); +/// ``` + +#define BOOL_SWITCH(COND, CONST_NAME, ...) \ + [&] { \ + if (COND) { \ + constexpr static bool CONST_NAME = true; \ + return __VA_ARGS__(); \ + } else { \ + constexpr static bool CONST_NAME = false; \ + return __VA_ARGS__(); \ + } \ + }() + +#ifdef FLASHATTENTION_DISABLE_DROPOUT + #define DROPOUT_SWITCH(COND, CONST_NAME, ...) \ + [&] { \ + constexpr static bool CONST_NAME = false; \ + return __VA_ARGS__(); \ + }() +#else + #define DROPOUT_SWITCH BOOL_SWITCH +#endif + +#ifdef FLASHATTENTION_DISABLE_ALIBI + #define ALIBI_SWITCH(COND, CONST_NAME, ...) \ + [&] { \ + constexpr static bool CONST_NAME = false; \ + return __VA_ARGS__(); \ + }() +#else + #define ALIBI_SWITCH BOOL_SWITCH +#endif + +#ifdef FLASHATTENTION_DISABLE_UNEVEN_K + #define EVENK_SWITCH(COND, CONST_NAME, ...) \ + [&] { \ + constexpr static bool CONST_NAME = true; \ + return __VA_ARGS__(); \ + }() +#else + #define EVENK_SWITCH BOOL_SWITCH +#endif + +#ifdef FLASHATTENTION_DISABLE_SOFTCAP + #define SOFTCAP_SWITCH(COND, CONST_NAME, ...) \ + [&] { \ + constexpr static bool CONST_NAME = false; \ + return __VA_ARGS__(); \ + }() +#else + #define SOFTCAP_SWITCH BOOL_SWITCH +#endif + +#ifdef FLASHATTENTION_DISABLE_LOCAL + #define LOCAL_SWITCH(COND, CONST_NAME, ...) \ + [&] { \ + constexpr static bool CONST_NAME = false; \ + return __VA_ARGS__(); \ + }() +#else + #define LOCAL_SWITCH BOOL_SWITCH +#endif + +#if defined(ENABLE_DTYPE_FP16) && defined(ENABLE_DTYPE_BF16) +#define FP16_SWITCH(COND, ...) \ + [&] { \ + if (COND) { \ + using elem_type = cutlass::half_t; \ + return __VA_ARGS__(); \ + } else { \ + using elem_type = cutlass::bfloat16_t; \ + return __VA_ARGS__(); \ + } \ + }() +#elif defined(ENABLE_DTYPE_FP16) +#define FP16_SWITCH(COND, ...) \ + [&] { \ + if (!(COND)) { \ + throw std::runtime_error("BF16 support not compiled. Please recompile with CPMCU_DTYPE=bf16 or CPMCU_DTYPE=fp16,bf16"); \ + } \ + using elem_type = cutlass::half_t; \ + return __VA_ARGS__(); \ + }() +#elif defined(ENABLE_DTYPE_BF16) +#define FP16_SWITCH(COND, ...) \ + [&] { \ + if (COND) { \ + throw std::runtime_error("FP16 support not compiled. Please recompile with CPMCU_DTYPE=fp16 or CPMCU_DTYPE=fp16,bf16"); \ + } \ + using elem_type = cutlass::bfloat16_t; \ + return __VA_ARGS__(); \ + }() +#else +#error "At least one of ENABLE_DTYPE_FP16 or ENABLE_DTYPE_BF16 must be defined" +#endif + +// TODO only compile 64 for debug +#define HEADDIM_SWITCH(HEADDIM, ...) \ + [&] { \ + constexpr static int kHeadDim = 128; \ + return __VA_ARGS__(); \ + }() + // if (HEADDIM <= 32) { \ + // constexpr static int kHeadDim = 32; \ + // return __VA_ARGS__(); \ + // } else if (HEADDIM <= 64) { \ + // constexpr static int kHeadDim = 64; \ + // return __VA_ARGS__(); \ + // } else if (HEADDIM <= 96) { \ + // constexpr static int kHeadDim = 96; \ + // return __VA_ARGS__(); \ + // } else if (HEADDIM <= 128) { \ + // constexpr static int kHeadDim = 128; \ + // return __VA_ARGS__(); \ + // } else if (HEADDIM <= 160) { \ + // constexpr static int kHeadDim = 160; \ + // return __VA_ARGS__(); \ + // } else if (HEADDIM <= 192) { \ + // constexpr static int kHeadDim = 192; \ + // return __VA_ARGS__(); \ + // } else if (HEADDIM <= 256) { \ + // constexpr static int kHeadDim = 256; \ + // return __VA_ARGS__(); \ + // } \ + // }() diff --git a/examples/CPM.cu/src/flash_attn/src/utils.h b/examples/CPM.cu/src/flash_attn/src/utils.h new file mode 100644 index 00000000..b7408ec4 --- /dev/null +++ b/examples/CPM.cu/src/flash_attn/src/utils.h @@ -0,0 +1,411 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include <assert.h> +#include <stdint.h> +#include <stdlib.h> + +#include <cuda_fp16.h> + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +#include <cuda_bf16.h> +#endif + +#include <cute/tensor.hpp> + +#include <cutlass/array.h> +#include <cutlass/cutlass.h> +#include <cutlass/numeric_conversion.h> +#include <cutlass/numeric_types.h> + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +namespace flash { + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename T> +__forceinline__ __device__ uint32_t relu2(const uint32_t x); + +template<> +__forceinline__ __device__ uint32_t relu2<cutlass::half_t>(const uint32_t x) { + uint32_t res; + const uint32_t zero = 0u; +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + asm volatile("max.f16x2 %0, %1, %2;\n" : "=r"(res) : "r"(x), "r"(zero)); +#else + asm volatile( \ + "{\n" \ + "\t .reg .f16x2 sela;\n" \ + "\t set.gtu.u32.f16x2 sela, %1, %2;\n" \ + "\t and.b32 %0, sela, %1;\n" + "}\n" : "=r"(res) : "r"(x), "r"(zero)); +#endif + return res; +} + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +template<> +__forceinline__ __device__ uint32_t relu2<cutlass::bfloat16_t>(const uint32_t x) { + uint32_t res; + const uint32_t zero = 0u; + asm volatile("max.bf16x2 %0, %1, %2;\n" : "=r"(res) : "r"(x), "r"(zero)); + return res; +} +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + +template<typename T> +__forceinline__ __device__ uint32_t convert_relu2(const float2 x); + +template<> +__forceinline__ __device__ uint32_t convert_relu2<cutlass::half_t>(const float2 x) { + uint32_t res; + const uint32_t a = reinterpret_cast<const uint32_t&>(x.x); + const uint32_t b = reinterpret_cast<const uint32_t&>(x.y); + asm volatile("cvt.rn.relu.f16x2.f32 %0, %1, %2;\n" : "=r"(res) : "r"(b), "r"(a)); + return res; +} + +template<> +__forceinline__ __device__ uint32_t convert_relu2<cutlass::bfloat16_t>(const float2 x) { + uint32_t res; + const uint32_t a = reinterpret_cast<const uint32_t&>(x.x); + const uint32_t b = reinterpret_cast<const uint32_t&>(x.y); + asm volatile("cvt.rn.relu.bf16x2.f32 %0, %1, %2;\n" : "=r"(res) : "r"(b), "r"(a)); + return res; +} + +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename T> +struct MaxOp { +__device__ __forceinline__ T operator()(T const & x, T const & y) { return x > y ? x : y; } +}; + +template <> +struct MaxOp<float> { +// This is slightly faster +__device__ __forceinline__ float operator()(float const &x, float const &y) { return max(x, y); } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename T> +struct SumOp { +__device__ __forceinline__ T operator()(T const & x, T const & y) { return x + y; } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<int THREADS> +struct Allreduce { + static_assert(THREADS == 32 || THREADS == 16 || THREADS == 8 || THREADS == 4); + template<typename T, typename Operator> + static __device__ __forceinline__ T run(T x, Operator &op) { + constexpr int OFFSET = THREADS / 2; + x = op(x, __shfl_xor_sync(uint32_t(-1), x, OFFSET)); + return Allreduce<OFFSET>::run(x, op); + } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<> +struct Allreduce<2> { +template<typename T, typename Operator> +static __device__ __forceinline__ T run(T x, Operator &op) { + x = op(x, __shfl_xor_sync(uint32_t(-1), x, 1)); + return x; +} +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<bool A_in_regs=false, bool B_in_regs=false, typename Tensor0, typename Tensor1, + typename Tensor2, typename Tensor3, typename Tensor4, + typename TiledMma, typename TiledCopyA, typename TiledCopyB, + typename ThrCopyA, typename ThrCopyB> +__forceinline__ __device__ void gemm(Tensor0 &acc, Tensor1 &tCrA, Tensor2 &tCrB, Tensor3 const& tCsA, + Tensor4 const& tCsB, TiledMma tiled_mma, + TiledCopyA smem_tiled_copy_A, TiledCopyB smem_tiled_copy_B, + ThrCopyA smem_thr_copy_A, ThrCopyB smem_thr_copy_B) { + CUTE_STATIC_ASSERT_V(size<1>(tCrA) == size<1>(acc)); // MMA_M + CUTE_STATIC_ASSERT_V(size<1>(tCrB) == size<2>(acc)); // MMA_N + CUTE_STATIC_ASSERT_V(size<2>(tCrA) == size<2>(tCrB)); // MMA_K + Tensor tCrA_copy_view = smem_thr_copy_A.retile_D(tCrA); + CUTE_STATIC_ASSERT_V(size<1>(tCsA) == size<1>(tCrA_copy_view)); // M + Tensor tCrB_copy_view = smem_thr_copy_B.retile_D(tCrB); + CUTE_STATIC_ASSERT_V(size<1>(tCsB) == size<1>(tCrB_copy_view)); // N + if (!A_in_regs) { cute::copy(smem_tiled_copy_A, tCsA(_, _, _0{}), tCrA_copy_view(_, _, _0{})); } + if (!B_in_regs) { cute::copy(smem_tiled_copy_B, tCsB(_, _, _0{}), tCrB_copy_view(_, _, _0{})); } + #pragma unroll + for (int i = 0; i < size<2>(tCrA); ++i) { + if (i < size<2>(tCrA) - 1) { + if (!A_in_regs) { cute::copy(smem_tiled_copy_A, tCsA(_, _, i + 1), tCrA_copy_view(_, _, i + 1)); } + if (!B_in_regs) { cute::copy(smem_tiled_copy_B, tCsB(_, _, i + 1), tCrB_copy_view(_, _, i + 1)); } + } + cute::gemm(tiled_mma, tCrA(_, _, i), tCrB(_, _, i), acc); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<typename Tensor0, typename Tensor1, typename Tensor2, typename Tensor3, + typename TiledMma, typename TiledCopy, typename ThrCopy> +__forceinline__ __device__ void gemm_rs(Tensor0 &acc, Tensor1 &tCrA, Tensor2 &tCrB, Tensor3 const& tCsB, + TiledMma tiled_mma, TiledCopy smem_tiled_copy_B, + ThrCopy smem_thr_copy_B) { + CUTE_STATIC_ASSERT_V(size<1>(tCrA) == size<1>(acc)); // MMA_M + CUTE_STATIC_ASSERT_V(size<1>(tCrB) == size<2>(acc)); // MMA_N + CUTE_STATIC_ASSERT_V(size<2>(tCrA) == size<2>(tCrB)); // MMA_K + Tensor tCrB_copy_view = smem_thr_copy_B.retile_D(tCrB); + CUTE_STATIC_ASSERT_V(size<1>(tCsB) == size<1>(tCrB_copy_view)); // N + cute::copy(smem_tiled_copy_B, tCsB(_, _, _0{}), tCrB_copy_view(_, _, _0{})); + #pragma unroll + for (int i = 0; i < size<2>(tCrA); ++i) { + if (i < size<2>(tCrA) - 1) { + cute::copy(smem_tiled_copy_B, tCsB(_, _, i + 1), tCrB_copy_view(_, _, i + 1)); + } + cute::gemm(tiled_mma, tCrA(_, _, i), tCrB(_, _, i), acc); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert acc_layout from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) +template<typename Layout> +__forceinline__ __device__ auto convert_layout_acc_rowcol(Layout acc_layout) { + static_assert(decltype(size<0>(acc_layout))::value == 4); + static_assert(decltype(rank(acc_layout))::value == 3); + auto l = logical_divide(acc_layout, Shape<_2>{}); // ((2, 2), MMA_M, MMA_N) + return make_layout(make_layout(get<0, 1>(l), get<1>(l)), make_layout(get<0, 0>(l), get<2>(l))); +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert acc_layout from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) +// if using m16n8k16, or to (4, MMA_M, MMA_N) if using m16n8k8. +template<typename MMA_traits, typename Layout> +__forceinline__ __device__ auto convert_layout_acc_Aregs(Layout acc_layout) { + using X = Underscore; + static_assert(decltype(size<0>(acc_layout))::value == 4); + static_assert(decltype(rank(acc_layout))::value == 3); + constexpr int mma_shape_K = get<2>(typename MMA_traits::Shape_MNK{}); + static_assert(mma_shape_K == 8 || mma_shape_K == 16); + if constexpr (mma_shape_K == 8) { + return acc_layout; + } else { + auto l = logical_divide(acc_layout, Shape<X, X, _2>{}); // (4, MMA_M, (2, MMA_N / 2))) + return make_layout(make_layout(get<0>(l), get<2, 0>(l)), get<1>(l), get<2, 1>(l)); + } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert acc_layout from (MMA=4, MMA_M, MMA_N) to ((4, 2), MMA_M, MMA_N / 2) +template<typename Layout> +__forceinline__ __device__ auto convert_layout_acc_dropout(Layout acc_layout) { + using X = Underscore; + static_assert(decltype(size<0>(acc_layout))::value == 4); + static_assert(decltype(rank(acc_layout))::value == 3); + auto l = logical_divide(acc_layout, Shape<X, X, _2>{}); // (4, MMA_M, (2, MMA_N / 2))) + return make_layout(make_layout(get<0>(l), get<2, 0>(l)), get<1>(l), get<2, 1>(l)); +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <typename To_type, typename Engine, typename Layout> +__forceinline__ __device__ auto convert_type(Tensor<Engine, Layout> const &tensor) { + using From_type = typename Engine::value_type; + constexpr int numel = decltype(size(tensor))::value; + cutlass::NumericArrayConverter<To_type, From_type, numel> convert_op; + // HACK: this requires tensor to be "contiguous" + auto frag = convert_op(*reinterpret_cast<const cutlass::Array<From_type, numel> *>(tensor.data())); + return make_tensor(make_rmem_ptr<To_type>(&frag), tensor.layout()); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <typename Engine, typename Layout> +__forceinline__ __device__ void relu_(Tensor<Engine, Layout> &tensor) { + constexpr int numel = decltype(size(tensor))::value; + static_assert(numel % 2 == 0); + using value_t = typename Engine::value_type; + // HACK: this requires tensor to be "contiguous" + Tensor tensor_uint32 = recast<uint32_t>(tensor); + #pragma unroll + for (int i = 0; i < size(tensor_uint32); ++i) { + tensor_uint32(i) = relu2<value_t>(tensor_uint32(i)); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// On SM80 and above, we can fuse fp32 -> fp16/bf16 conversion and relu into 1 instruction +template <typename To_type, typename Engine, typename Layout> +__forceinline__ __device__ auto convert_type_relu(Tensor<Engine, Layout> const &tensor) { + using From_type = typename Engine::value_type; + static_assert(std::is_same_v<To_type, cutlass::half_t> || std::is_same_v<To_type, cutlass::bfloat16_t>); + static_assert(std::is_same_v<float, From_type>); + constexpr int numel = decltype(size(tensor))::value; + static_assert(numel % 2 == 0); +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + // HACK: this requires tensor to be "contiguous" + Tensor tensor_float2 = recast<float2>(tensor); + Tensor out_uint32 = make_tensor<uint32_t>(tensor_float2.layout()); + #pragma unroll + for (int i = 0; i < size(out_uint32); ++i) { + out_uint32(i) = convert_relu2<To_type>(tensor_float2(i)); + } + Tensor out = make_tensor(make_rmem_ptr<To_type>(out_uint32.data()), tensor.layout()); +#else + Tensor out = flash::convert_type<To_type>(tensor); + flash::relu_(out); +#endif + return out; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Blocks until all but N previous cp.async.commit_group operations have committed. +// This differs from cute::cp_async_wait in that when N = 0 we don't call cp.async.wait_all +// (which is equivalent to commit_group then wait_group 0). +// Instead we just call cp.async.wait_group 0, which is slightly faster. +// https://github.com/NVIDIA/cutlass/blob/master/include/cute/arch/copy_sm80.hpp#L113 +template <int N> +CUTE_HOST_DEVICE +void cp_async_wait() { +#if defined(CUTE_ARCH_CP_ASYNC_SM80_ENABLED) + asm volatile("cp.async.wait_group %0;\n" :: "n"(N)); +#endif +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <bool Is_even_MN=true, bool Is_even_K=true, bool Clear_OOB_MN=false, bool Clear_OOB_K=true, + typename TiledCopy, typename Engine0, typename Layout0, typename Engine1, typename Layout1, + typename Engine2, typename Layout2, typename Engine3, typename Layout3> +__forceinline__ __device__ void copy(TiledCopy tiled_copy, Tensor<Engine0, Layout0> const &S, + Tensor<Engine1, Layout1> &D, Tensor<Engine2, Layout2> const &identity_MN, + Tensor<Engine3, Layout3> const &predicate_K, const int max_MN=0) { + CUTE_STATIC_ASSERT_V(rank(S) == Int<3>{}); + CUTE_STATIC_ASSERT_V(rank(D) == Int<3>{}); + CUTE_STATIC_ASSERT_V(size<0>(S) == size<0>(D)); // MMA + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(D)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(D)); // MMA_K + // There's no case where !Clear_OOB_K && Clear_OOB_MN + static_assert(!(Clear_OOB_MN && !Clear_OOB_K)); + #pragma unroll + for (int m = 0; m < size<1>(S); ++m) { + if (Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN) { + #pragma unroll + for (int k = 0; k < size<2>(S); ++k) { + if (Is_even_K || predicate_K(k)) { + cute::copy(tiled_copy, S(_, m, k), D(_, m, k)); + } else if (Clear_OOB_K) { + cute::clear(D(_, m, k)); + } + } + } else if (Clear_OOB_MN) { + cute::clear(D(_, m, _)); + } + } + // TD [2023-04-13]: Strange that the code below can cause race condition. + // I think it's because the copies are under an if statement. + // if (Is_even_K) { + // #pragma unroll + // for (int m = 0; m < size<1>(S); ++m) { + // if (Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN) { + // copy(tiled_copy, S(_, m, _), D(_, m, _)); + // } else if (Clear_OOB_MN) { + // clear(D(_, m, _)); + // } + // } + // } else { // It's slightly faster in this case if iterate over K first + // #pragma unroll + // for (int k = 0; k < size<2>(S); ++k) { + // if (predicate_K(k)) { + // #pragma unroll + // for (int m = 0; m < size<1>(S); ++m) { + // if (Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN) { + // copy(tiled_copy, S(_, m, k), D(_, m, k)); + // } else if (Clear_OOB_MN) { + // clear(D(_, m, k)); + // } + // } + // } else if (Clear_OOB_K) { // There's no case where !Clear_OOB_K && Clear_OOB_MN + // if (Clear_OOB_MN || Is_even_MN) { + // clear(D(_, _, k)); + // } else { + // #pragma unroll + // for (int m = 0; m < size<1>(S); ++m) { + // if (!(Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN)) { + // clear(D(_, m, k)); + // } + // } + // } + // } + // } + // } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <bool Is_even_K=true, + typename Engine0, typename Layout0, typename Engine1, typename Layout1, + typename Engine2, typename Layout2, typename Engine3, typename Layout3> +__forceinline__ __device__ void copy_w_min_idx(Tensor<Engine0, Layout0> const &S, + Tensor<Engine1, Layout1> &D, Tensor<Engine2, Layout2> const &identity_MN, + Tensor<Engine3, Layout3> const &predicate_K, + const int max_MN=0, const int min_MN=0) { + CUTE_STATIC_ASSERT_V(rank(S) == Int<3>{}); + CUTE_STATIC_ASSERT_V(rank(D) == Int<3>{}); + CUTE_STATIC_ASSERT_V(size<0>(S) == size<0>(D)); // MMA + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(D)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(D)); // MMA_K + // if (threadIdx.x == 0 && blockIdx.z == 0) { printf("blockIdx.y = %d, max_MN = %d, min_MN = %d\n", blockIdx.y, max_MN, min_MN); } + #pragma unroll + for (int m = 0; m < size<1>(S); ++m) { + // if (threadIdx.x == 0 && blockIdx.z == 0) { printf("blockIdx.y = %d, m = %d\n", blockIdx.y, get<0>(identity_MN(0, m, 0))); } + if (get<0>(identity_MN(0, m, 0)) >= min_MN && get<0>(identity_MN(0, m, 0)) < max_MN) { + // if (threadIdx.x == 0 && blockIdx.z == 0) { printf("Inner loop, blockIdx.y = %d, m = %d\n", blockIdx.y, get<0>(identity_MN(0, m, 0))); } + #pragma unroll + for (int k = 0; k < size<2>(S); ++k) { + if (Is_even_K || predicate_K(k)) { + cute::copy(S(_, m, k), D(_, m, k)); + } + } + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template <typename Engine, typename Layout> +__forceinline__ __device__ void apply_softcap(Tensor<Engine, Layout> &tensor, const float softcap){ + #pragma unroll + for (int i = 0; i < size(tensor); ++i) { + tensor(i) = cutlass::fast_tanh(tensor(i) * softcap); + } +} + +template <typename Engine0, typename Layout0, typename Engine1, typename Layout1> +__forceinline__ __device__ void calculate_dtanh(Tensor<Engine0, Layout0> &src_tensor, Tensor<Engine1, Layout1> &dst_tensor, const float softcap){ + #pragma unroll + for (int i = 0; i < size(src_tensor); ++i) { + dst_tensor(i) = (1.f - (src_tensor(i) * src_tensor(i))) * softcap; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +} // namespace flash diff --git a/examples/CPM.cu/src/model/activation.cuh b/examples/CPM.cu/src/model/activation.cuh new file mode 100644 index 00000000..f9c9d8ce --- /dev/null +++ b/examples/CPM.cu/src/model/activation.cuh @@ -0,0 +1,83 @@ +#pragma once +#include "../trait.cuh" +#include <cuda_runtime.h> + +namespace { +template <typename T> +__global__ void gated_silu_interleaved_kernel(int dim, const T* src, T* tgt) { + int row_offset = blockIdx.x * dim; + int row_offset_2 = row_offset * 2; + int col = blockIdx.y * blockDim.x + threadIdx.x; + int col2 = col + dim; + if (col < dim) { + float g = float(src[row_offset_2 + col]); + float u = float(src[row_offset_2 + col2]); + float s = 1.0f / (1.0f + expf(-g)); + tgt[row_offset + col] = T(g * s * u); + } +} + +template<typename T> +__global__ void gated_silu_kernel(int dim, const T* src, T* tgt) { + int row_offset = blockIdx.x * dim; + int col = blockIdx.y * blockDim.x + threadIdx.x; + if (col < dim) { + float g = float(src[row_offset + col]); + float u = float(tgt[row_offset + col]); + float s = 1.0f / (1.0f + expf(-g)); + tgt[row_offset + col] = T(g * s * u); + } +} + +template<typename T> +__global__ void silu_kernel(int dim, const T* src, T* tgt) { + int row_offset = blockIdx.x * dim; + int col = blockIdx.y * blockDim.x + threadIdx.x; + if (col < dim) { + float g = float(src[row_offset + col]); + float s = 1.0f / (1.0f + expf(-g)); + tgt[row_offset + col] = T(g * s); + } +} + +template<typename T> +__global__ void relu_kernel(int dim, const T* src, T* tgt) { + int row_offset = blockIdx.x * dim; + int col = blockIdx.y * blockDim.x + threadIdx.x; + if (col < dim) { + T v = src[row_offset + col]; + tgt[row_offset + col] = v > T(0) ? v : T(0); + } +} +} + +template <typename T> +void gated_silu_interleaved(const Stream& stream, int num_tokens, int dim, const T* src, T* tgt) { + gated_silu_interleaved_kernel<T><<<dim3(num_tokens, CEIL_DIV(dim, 256)), 256, 0, stream.stream>>>(dim, src, tgt); +} + +template <typename T> +void gated_silu(const Stream& stream, int num_tokens, int dim, const T* src, T* tgt) { + gated_silu_kernel<T><<<dim3(num_tokens, CEIL_DIV(dim, 256)), 256, 0, stream.stream>>>(dim, src, tgt); +} + +template<typename T> +void silu(const Stream& stream, int num_tokens, int dim, const T* src, T* tgt) { + silu_kernel<T><<<dim3(num_tokens, CEIL_DIV(dim, 256)), 256, 0, stream.stream>>>(dim, src, tgt); +} + +template <typename T> +void silu_inplace(const Stream& stream, int num_tokens, int dim, T* x) { + silu(stream, num_tokens, dim, x, x); +} + + +template<typename T> +void relu(const Stream& stream, int num_tokens, int dim, const T* src, T* tgt) { + relu_kernel<T><<<dim3(num_tokens, CEIL_DIV(dim, 256)), 256, 0, stream.stream>>>(dim, src, tgt); +} + +template <typename T> +void relu_inplace(const Stream& stream, int num_tokens, int dim, T* x) { + relu(stream, num_tokens, dim, x, x); +} \ No newline at end of file diff --git a/examples/CPM.cu/src/model/attn.cuh b/examples/CPM.cu/src/model/attn.cuh new file mode 100644 index 00000000..9988742f --- /dev/null +++ b/examples/CPM.cu/src/model/attn.cuh @@ -0,0 +1,235 @@ +#pragma once +#include "../trait.cuh" +#include "../utils.cuh" +#include "../flash_attn/flash_api.hpp" +#include "perf.cuh" +#include "norm.cuh" +#include "linear.cuh" +#include "rotary.cuh" +#include "kvcache.cuh" +#include "mask.cuh" +#include <cuda_runtime.h> + +namespace { +__global__ void copy_to_kvcache_kernel(int num_tokens, int dim, int total, float4* k, float4* v, float4* k_cache, float4* v_cache, int* cache_length) { + int idx = blockIdx.x * blockDim.x + threadIdx.x; + int offset = idx + (cache_length[0] - num_tokens) * dim; + if (idx < total) { + k_cache[offset] = k[idx]; + v_cache[offset] = v[idx]; + } +} + +__global__ void permute_kernel(int num_tokens, int a, int b, float4* input, float4* output) { + int row = blockIdx.x; + int input_offset = row * (a + b + b); + int output_offset = row * a; + for (int i = threadIdx.x; i < a; i += blockDim.x) { + output[output_offset + i] = input[input_offset + i]; + } + input_offset += a; + output_offset = num_tokens * a + row * b; + for (int i = threadIdx.x; i < b; i += blockDim.x) { + output[output_offset + i] = input[input_offset + i]; + } + input_offset += b; + output_offset = num_tokens * (a + b) + row * b; + for (int i = threadIdx.x; i < b; i += blockDim.x) { + output[output_offset + i] = input[input_offset + i]; + } +} + +template <typename T> +void copy_to_kvcache(const Stream& stream, int num_tokens, T* k, T* v, KVCache<T>* kv_cache, int* cache_length) { + int dim = kv_cache->dim / (16/sizeof(T)); + int total = num_tokens * dim; + copy_to_kvcache_kernel<<<CEIL_DIV(total, 256), 256, 0, stream.stream>>>(num_tokens, dim, total, (float4*)k, (float4*)v, (float4*)kv_cache->k_cache, (float4*)kv_cache->v_cache, cache_length); +} + +template <typename T> +void permute(const Stream& stream, int num_tokens, int a, int b, T* input, T* output) { + a = a / (16/sizeof(T)); + b = b / (16/sizeof(T)); + permute_kernel<<<num_tokens, 512, 0, stream.stream>>>(num_tokens, a, b, (float4*)input, (float4*)output); +} + +} + +template <typename T> +struct Attention { + int hidden_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + Norm<T> *attn_norm; + Linear<T> *q_proj, *k_proj, *v_proj; + Linear<T> *o_proj; + T* output; + + T* attn_output; + float *softmax_lse, *softmax_lse_accum, *oaccum; + + int window_size; + + Attention(int hidden_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, int window_size = 0) { + this->hidden_size = hidden_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->attn_norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + this->q_proj = new Linear<T>(hidden_size, num_attention_heads * head_dim); + this->k_proj = new Linear<T>(hidden_size, num_key_value_heads * head_dim); + this->v_proj = new Linear<T>(hidden_size, num_key_value_heads * head_dim); + this->o_proj = new Linear<T>(hidden_size, num_attention_heads * head_dim); + + this->window_size = window_size; + } + + void init_weight_ptr(Memory* memory) { + this->attn_norm->init_weight_ptr(memory); + this->q_proj->init_weight_ptr(memory); + this->k_proj->init_weight_ptr(memory); + this->v_proj->init_weight_ptr(memory); + this->o_proj->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t attn_norm_end = this->attn_norm->init_output_ptr(memory, num_tokens, offset); + int64_t q_proj_end = this->q_proj->init_output_ptr(memory, num_tokens, attn_norm_end); + int64_t k_proj_end = this->k_proj->init_output_ptr(memory, num_tokens, q_proj_end); + int64_t v_proj_end = this->v_proj->init_output_ptr(memory, num_tokens, k_proj_end); + + int64_t attn_output_end = memory->allocate((void**)&this->attn_output, offset, num_tokens * this->num_attention_heads * this->head_dim * sizeof(T)); + int64_t softmax_lse_end = memory->allocate((void**)&this->softmax_lse, v_proj_end, num_tokens * this->num_attention_heads * sizeof(float)); + const int max_num_splits = 128; // Maximum number of splits for attention computation + const int max_spec_tree_size = 64; // Maximum size of speculative decoding tree + int64_t softmax_lse_accum_end = memory->allocate((void**)&this->softmax_lse_accum, softmax_lse_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * sizeof(float)); + int64_t oaccum_end = memory->allocate((void**)&this->oaccum, softmax_lse_accum_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * this->head_dim * sizeof(float)); + + int64_t o_proj_end = this->o_proj->init_output_ptr(memory, num_tokens, v_proj_end); + this->output = this->o_proj->output; + + return std::max(oaccum_end, o_proj_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("q_proj") != std::string::npos) { + this->q_proj->load_to_storage(name, ptr); + } else if (name.find("k_proj") != std::string::npos) { + this->k_proj->load_to_storage(name, ptr); + } else if (name.find("v_proj") != std::string::npos) { + this->v_proj->load_to_storage(name, ptr); + } else if (name.find("o_proj") != std::string::npos) { + this->o_proj->load_to_storage(name, ptr); + } else if (name.find("input_layernorm") != std::string::npos) { + this->attn_norm->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, KVCache<T>* kv_cache) { + T* k_cache = kv_cache->offset_k(num_history_tokens); + T* v_cache = kv_cache->offset_v(num_history_tokens); + + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + this->q_proj->prefill(stream, num_tokens, this->attn_norm->output); + this->k_proj->prefill(stream, num_tokens, this->attn_norm->output, k_cache); + this->v_proj->prefill(stream, num_tokens, this->attn_norm->output, v_cache); + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, this->q_proj->output, k_cache, position_ids); + + cuda_perf_start_on_stream_f(PREFILL_ATTN_CORE, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + num_history_tokens+num_tokens, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + this->q_proj->output, + kv_cache->k_cache, + kv_cache->v_cache, + nullptr, + Mask(nullptr), + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + nullptr, + this->window_size + ); + cuda_perf_stop_on_stream_f(PREFILL_ATTN_CORE, stream.stream); + + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output); + } + + void decode(const Stream& stream, int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, KVCache<T>* kv_cache) { + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + T *q = nullptr; +#ifdef DISABLE_MEMPOOL + this->q_proj->prefill(stream, num_tokens, this->attn_norm->output); + this->k_proj->prefill(stream, num_tokens, this->attn_norm->output); + this->v_proj->prefill(stream, num_tokens, this->attn_norm->output); + q = this->q_proj->output; + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, this->q_proj->output, this->k_proj->output, position_ids); + copy_to_kvcache(stream, num_tokens, this->k_proj->output, this->v_proj->output, kv_cache, cache_length); +#else + int merge_dim_out = (this->num_attention_heads + 2 * this->num_key_value_heads) * this->head_dim; + if (num_tokens > 1) { + linear<T>(stream, num_tokens, this->hidden_size, merge_dim_out, this->attn_norm->output, this->q_proj->weight, this->v_proj->output); + permute(stream, num_tokens, this->num_attention_heads * this->head_dim, this->num_key_value_heads * this->head_dim, this->v_proj->output, this->q_proj->output); + } else { + linear<T>(stream, num_tokens, this->hidden_size, merge_dim_out, this->attn_norm->output, this->q_proj->weight, this->q_proj->output); + } + q = this->q_proj->output; + T* k = q + num_tokens * this->num_attention_heads * this->head_dim; + T* v = k + num_tokens * this->num_key_value_heads * this->head_dim; + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, q, k, position_ids); + copy_to_kvcache(stream, num_tokens, k, v, kv_cache, cache_length); +#endif + + cuda_perf_start_on_stream_f(DECODE_ATTN_CORE, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + padded_length, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + q, + kv_cache->k_cache, + kv_cache->v_cache, + cache_length, + mask, + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + nullptr, + this->window_size + ); + cuda_perf_stop_on_stream_f(DECODE_ATTN_CORE, stream.stream); + + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output); + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/drafter.cuh b/examples/CPM.cu/src/model/drafter.cuh new file mode 100644 index 00000000..6bf1ff4d --- /dev/null +++ b/examples/CPM.cu/src/model/drafter.cuh @@ -0,0 +1,48 @@ +#pragma once +#include <cuda_runtime.h> + +namespace { + +__global__ void seq_verify_kernel(int num_tokens, int32_t* pred, const int32_t* gt, const uint16_t* attn_mask, int32_t* d_best) { + int i = threadIdx.x; + + __shared__ uint16_t s_correct_mask; + uint16_t correct_mask = 1; + if (0 < i && i < num_tokens && pred[i] == gt[i-1]) correct_mask |= 1ULL << i; + // only 16 threads + correct_mask |= __shfl_down_sync(0x0000ffff, correct_mask, 8); + correct_mask |= __shfl_down_sync(0x0000ffff, correct_mask, 4); + correct_mask |= __shfl_down_sync(0x0000ffff, correct_mask, 2); + correct_mask |= __shfl_down_sync(0x0000ffff, correct_mask, 1); + if (i == 0) s_correct_mask = correct_mask; + __syncthreads(); + correct_mask = s_correct_mask; + + __shared__ int32_t mx[16]; + // int prefix_length = cache_length[0]; + if (i < num_tokens && ((correct_mask & attn_mask[i]) == attn_mask[i])) { + mx[i] = i + 1; + } else { + mx[i] = 1; + } + __syncthreads(); + for (int offset = 8; offset > 0; offset >>= 1) { + if (i < offset && mx[i + offset] > mx[i]) { + mx[i] = mx[i + offset]; + } + __syncthreads(); + } + if (i == 0) { + d_best[0] = mx[0]; + } + __syncthreads(); + +} + +} + + +void verify_seq_draft(const Stream& stream, int num_tokens, int32_t* pred, const int32_t* gt, const uint16_t* attn_mask, int32_t* best) { + // each SM has 32 threads + seq_verify_kernel<<<1, 16, 0, stream.stream>>>(num_tokens, pred, gt, attn_mask, best); +} \ No newline at end of file diff --git a/examples/CPM.cu/src/model/eagle.cuh b/examples/CPM.cu/src/model/eagle.cuh new file mode 100644 index 00000000..f426e25b --- /dev/null +++ b/examples/CPM.cu/src/model/eagle.cuh @@ -0,0 +1,517 @@ +#pragma once +#include "tree_drafter.cuh" +#include "model.cuh" +#include "topk.cuh" +#include "layer.cuh" +#include "kvcache.cuh" +#include "norm.cuh" +#include "elementwise.cuh" + +namespace { +__global__ void add_kernel(int32_t* ptr, int32_t value) { + ptr[threadIdx.x] += value; +} + +__global__ void repeat_kernel(int32_t dim, int32_t pos, const float4* input, float4* output) { + int row = blockIdx.x; + int col = threadIdx.x; + for (int i = col; i < dim; i += blockDim.x) { + output[row * dim + i] = input[pos * dim + i]; + } +} + +template<typename T> +__global__ void repeat_kernel_2(int32_t pos, const T* input, T* output) { + int col = threadIdx.x; + output[col] = input[pos]; +} + +template<typename T> +__global__ void log_softmax_kernel(int32_t dim, T* input) { + int base_idx = blockIdx.x * dim; + int warp_id = threadIdx.x / 32; + int lane_id = threadIdx.x % 32; + + __shared__ float s_val[32]; + float mx = -TypeTraits<T>::inf(); + for (int i = threadIdx.x; i < dim; i += blockDim.x) { + mx = fmaxf(float(input[base_idx + i]), mx); + } + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 16), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 8), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 4), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 2), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 1), mx); + if (lane_id == 0) s_val[warp_id] = mx; + __syncthreads(); + if (threadIdx.x < 32) { + mx = s_val[threadIdx.x]; + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 16), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 8), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 4), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 2), mx); + mx = fmaxf(__shfl_down_sync(0xffffffff, mx, 1), mx); + } + if (threadIdx.x == 0) { + s_val[0] = mx; + } + __syncthreads(); + mx = s_val[0]; + + float sum = 0; + for (int i = threadIdx.x; i < dim; i += blockDim.x) { + sum += expf(float(input[base_idx + i]) - mx); + } + sum += __shfl_down_sync(0xffffffff, sum, 16); + sum += __shfl_down_sync(0xffffffff, sum, 8); + sum += __shfl_down_sync(0xffffffff, sum, 4); + sum += __shfl_down_sync(0xffffffff, sum, 2); + sum += __shfl_down_sync(0xffffffff, sum, 1); + if (lane_id == 0) s_val[warp_id] = sum; + __syncthreads(); + if (threadIdx.x < 32) { + sum = s_val[threadIdx.x]; + sum += __shfl_down_sync(0xffffffff, sum, 16); + sum += __shfl_down_sync(0xffffffff, sum, 8); + sum += __shfl_down_sync(0xffffffff, sum, 4); + sum += __shfl_down_sync(0xffffffff, sum, 2); + sum += __shfl_down_sync(0xffffffff, sum, 1); + } + if (threadIdx.x == 0) { + s_val[0] = sum; + } + __syncthreads(); + sum = s_val[0]; + + for (int i = threadIdx.x; i < dim; i += blockDim.x) { + input[base_idx + i] = T( float(input[base_idx + i]) - mx - logf(sum) ); + } +} + +__global__ void init_tree_kernel(uint64_t* mask_2d) { + mask_2d[threadIdx.x] = 1ULL << threadIdx.x; +} + +__global__ void set_parent_kernel(int32_t num_tokens, int32_t* parent, const int32_t* pos, int32_t offset) { + parent[threadIdx.x] = pos[threadIdx.x] + offset; +} + +__global__ void update_tree_kernel(int32_t num_tokens, int32_t offset, uint64_t* mask_2d, const uint64_t* tmp_mask_2d, const int32_t* topk_pos) { + mask_2d[threadIdx.x] = tmp_mask_2d[topk_pos[threadIdx.x] / num_tokens] | (1ULL << (offset + threadIdx.x)); +} + +template<typename T> +__global__ void cumsum_kernel(int32_t dim, T* input, const T* weight) { + input[blockIdx.x * dim + threadIdx.x] += weight[blockIdx.x]; +} + +__global__ void remap_hidden_kernel(int32_t scale, int32_t dim, const int32_t* id_map, const float4* real_hidden, float4* output) { + int row = blockIdx.x; + int col = threadIdx.x; + int real_row = id_map[row] / scale; + for (int i = col; i < dim; i += blockDim.x) { + output[row * dim + i] = real_hidden[real_row * dim + i]; + } +} + +__global__ void remap_id_kernel(const int32_t* id_map, const int32_t* real_id, int32_t* output) { + output[threadIdx.x] = real_id[id_map[threadIdx.x]]; +} + +__global__ void remap_id_kernel(const int32_t* id_map, const int32_t* real_id, const int32_t* token_id_remap, int32_t* output) { + output[threadIdx.x] = token_id_remap[real_id[id_map[threadIdx.x]]]; +} + +__global__ void make_arange_kernel(int32_t* offset, int32_t* output) { + output[threadIdx.x] = threadIdx.x + offset[0]; +} + +} // namespace + +void add(const Stream& stream, int32_t num_tokens, int32_t* ptr, int32_t value) { + add_kernel<<<1, num_tokens, 0, stream.stream>>>(ptr, value); +} + +template<typename T> +void repeat(const Stream& stream, int32_t num_tokens, int32_t dim, int32_t pos, T* input, T* output=nullptr) { + if (output == nullptr) output = input; + if (dim > 1) { + dim = dim / (16 / sizeof(T)); + repeat_kernel<<<num_tokens, 512, 0, stream.stream>>>(dim, pos, (float4*)input, (float4*)output); + } else { + repeat_kernel_2<<<1, num_tokens, 0, stream.stream>>>(pos, input, output); + } +} + +template<typename T> +void log_softmax(const Stream& stream, int32_t num_tokens, int32_t dim, T* input) { + log_softmax_kernel<<<num_tokens, 1024, 0, stream.stream>>>(dim, input); +} + +void init_tree(const Stream& stream, int32_t num_tokens, uint64_t* mask_2d) { + init_tree_kernel<<<1, num_tokens, 0, stream.stream>>>(mask_2d); +} + +void set_parent(const Stream& stream, int32_t num_tokens, int32_t* parent, const int32_t* pos, int32_t offset) { + set_parent_kernel<<<1, num_tokens, 0, stream.stream>>>(num_tokens, parent, pos, offset); +} + +void update_tree(const Stream& stream, int32_t num_tokens, int32_t offset, uint64_t* mask_2d, const uint64_t* tmp_mask_2d, const int32_t* topk_pos) { + update_tree_kernel<<<1, num_tokens, 0, stream.stream>>>(num_tokens, offset, mask_2d, tmp_mask_2d, topk_pos); +} + +template<typename T> +void cumsum(const Stream& stream, int32_t num_tokens, int32_t dim, T* input, const T* weight) { + cumsum_kernel<<<num_tokens, dim, 0, stream.stream>>>(dim, input, weight); +} + +template<typename T> +void remap_hidden(const Stream& stream, int32_t num_tokens, int32_t dim, const int32_t* id_map, const T* real_hidden, T* output, int32_t scale=1) { + dim = dim / (16 / sizeof(T)); + remap_hidden_kernel<<<num_tokens, 512, 0, stream.stream>>>(scale, dim, id_map, (float4*)real_hidden, (float4*)output); +} + +void remap_id(const Stream& stream, int32_t num_tokens, int32_t* id_map, const int32_t* real_id, int32_t* output=nullptr) { + if (output == nullptr) output = id_map; + remap_id_kernel<<<1, num_tokens, 0, stream.stream>>>(id_map, real_id, output); +} + +void remap_id_fr(const Stream& stream, int32_t num_tokens, int32_t* id_map, const int32_t* real_id, const int32_t* token_id_remap, int32_t* output=nullptr) { + if (output == nullptr) output = id_map; + remap_id_kernel<<<1, num_tokens, 0, stream.stream>>>(id_map, real_id, token_id_remap, output); +} + +void make_arange(const Stream& stream, int32_t range, int32_t* offset, int32_t* output) { + make_arange_kernel<<<1, range, 0, stream.stream>>>(offset, output); +} + +__global__ void build_dynamic_tree_kernel(int32_t tree_size, int32_t pos_offset, int32_t topk_per_iter, const int32_t* tried_history_parent, const int32_t* topk_pos, int32_t* tree_pos, uint64_t* tree_mask, int32_t* tree_parent) { + __shared__ int32_t reverse_tree_id[1024]; + int tid = threadIdx.x; + if (tid != 0) { + reverse_tree_id[topk_pos[tid-1]] = tid; + } + __syncthreads(); + if (tid == 0) { + tree_mask[0] = 1; + tree_pos[0] = pos_offset; + for (int i = 1; i < tree_size; i++) { + int p = topk_pos[i-1]; + tree_pos[i] = pos_offset + ((p < topk_per_iter) ? 1 : (p - topk_per_iter) / (topk_per_iter * topk_per_iter) + 2); + tree_mask[i] = 1ULL << reverse_tree_id[p];; + + if (p < topk_per_iter) { + p = -1; + } else { + p = p - topk_per_iter; + if (p < topk_per_iter * topk_per_iter) { + p = p / topk_per_iter; + } else { + p = tried_history_parent[(p - topk_per_iter * topk_per_iter) / topk_per_iter]; + } + } + int parent = p == -1 ? 0 : reverse_tree_id[p]; + tree_parent[i] = parent; + tree_mask[i] |= tree_mask[parent]; + } + } +} + +void build_dynamic_tree(const Stream& stream, int32_t tree_size, int32_t pos_offset, int32_t topk_per_iter, const int32_t* tried_history_parent, const int32_t* topk_pos, int32_t* tree_pos, uint64_t* tree_mask, int32_t* tree_parent) { + +// TODO: remove this after fixing the bug +// #ifdef DEBUG + // Check if all elements in topk_pos are the same + int32_t h_topk_pos[tree_size]; + cudaMemcpy(h_topk_pos, topk_pos, tree_size * sizeof(int32_t), cudaMemcpyDeviceToHost); + for (int i = 1; i < tree_size; i++) { + if (h_topk_pos[i] != h_topk_pos[0]) break; + if (i == tree_size - 1) throw std::runtime_error("All topk_pos elements are identical"); + } +// #endif + build_dynamic_tree_kernel<<<1, tree_size, 0, stream.stream>>>(tree_size, pos_offset, topk_per_iter, tried_history_parent, topk_pos, tree_pos, tree_mask, tree_parent); +} + +template<typename T> +struct Skip : Norm<T> { + int dim; + + Skip(int dim) { + this->dim = dim; + } + + void init_weight_ptr(Memory* memory) {} + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + return memory->allocate((void**)&this->output, offset, num_tokens * dim * sizeof(T)); + } + + void load_to_storage(std::string name, void* ptr) {} + + void prefill(const Stream& stream, int32_t num_tokens, T* input, T* prev_output, T* tgt=nullptr) { + if (tgt == nullptr) tgt = this->output; + if (prev_output == nullptr) { + cudaMemcpy(tgt, input, sizeof(T) * this->dim * num_tokens, cudaMemcpyDeviceToDevice); + } else { + elementwise_add(stream, num_tokens, this->dim, input, prev_output, tgt); + } + } +}; + +template<typename T, class ModelType> +struct EagleImpl : Model { + int num_layers; + int num_iter; + int topk_per_iter; + int tree_size; + int total_tried; + + ModelType* model; + KVCacheManager<T>* kv_caches; + std::vector<Layer<T>*> layers; + Linear<T, true, true> *fc1; + Linear<T> *fc2; + functions::TopK<T>* topk_func; + functions::TopK<T>* topk_func_2; + + T *prev_hidden_state, *prev_embed; + int num_prev, num_history_tokens; + int32_t *eagle_position_ids, *eagle_cache_length; + int *eagle_original_length, eagle_padded_length; + uint64_t *eagle_mask_2d, *tmp_mask_2d; + T* eagle_logits; + T* tried_history_val; int32_t* tried_history_pos; + int32_t* tried_history_parent; + bool is_first_draft; + + int32_t *h_best, *d_best; + + T* tmp_kvcache; + + EagleImpl( + ModelType* model, + int num_layers, + int num_iter, + int topk_per_iter, + int tree_size + ) { + this->model = model; + this->num_layers = num_layers; + this->num_iter = num_iter; + this->topk_per_iter = topk_per_iter; + this->tree_size = tree_size; + assert(this->tree_size <= 64); // tree_size must be <= 64 + this->total_tried = topk_per_iter * topk_per_iter * (num_iter - 1) + topk_per_iter; + + kv_caches = new KVCacheManager<T>(num_layers, this->model->num_key_value_heads, this->model->head_dim); + fc1 = new Linear<T, true, true>(this->model->hidden_size, this->model->hidden_size); + fc2 = new Linear<T>(this->model->hidden_size, this->model->hidden_size); + for (int i = 0; i < num_layers; i++) { + layers.push_back(new Layer<T>(this->model->hidden_size, this->model->intermediate_size, this->model->num_attention_heads, this->model->num_key_value_heads, this->model->head_dim, this->model->rms_norm_eps)); + } + + assert(topk_per_iter <= this->tree_size-1); + + topk_func = new functions::TopK<T>(model->vocab_size, topk_per_iter); + topk_func_2 = new functions::TopK<T>(total_tried, this->tree_size-1); + } + + void init_weight_ptr(Memory* memory) { + fc1->init_weight_ptr(memory); + fc2->init_weight_ptr(memory); + for (int i = 0; i < num_layers; i++) { + layers[i]->init_weight_ptr(memory); + } + layers[0]->attn->attn_norm = new Skip<T>(this->model->hidden_size); + kv_caches->rotary_embedding = this->model->kv_caches->rotary_embedding; + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + offset = fc1->init_output_ptr(memory, num_tokens, offset); + offset = fc2->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < num_layers; i++) { + layer_end = layers[i]->init_output_ptr(memory, num_tokens, offset); + } + offset = layer_end; + offset = memory->allocate((void**)&eagle_logits, offset, this->topk_per_iter * this->model->vocab_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_mask_2d, offset, this->topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&tmp_mask_2d, offset, this->topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&tried_history_val, offset, this->total_tried * sizeof(T)); + offset = memory->allocate((void**)&tried_history_pos, offset, this->total_tried * sizeof(int32_t)); + offset = memory->allocate((void**)&tried_history_parent, offset, this->topk_per_iter * (this->num_iter - 1) * sizeof(int32_t)); + cudaMallocHost(&eagle_original_length, sizeof(int32_t)); + + offset = topk_func->init_output_ptr(memory, this->topk_per_iter, offset); + offset = topk_func_2->init_output_ptr(memory, 1, offset); + + offset = memory->allocate((void**)&prev_hidden_state, offset, num_tokens * this->model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&prev_embed, offset, num_tokens * this->model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&eagle_cache_length, offset, sizeof(int32_t)); + + offset = memory->allocate((void**)&d_best, offset, 2 * sizeof(int32_t)); + cudaMallocHost(&h_best, 2 * sizeof(int32_t)); + offset = memory->allocate((void**)&tmp_kvcache, offset, 64 * this->model->kv_caches->num_hidden_layers * 2 * this->model->kv_caches->dim * sizeof(T)); + return offset; + } + + int init_storage() { + this->model->init_weight_ptr(this->model->memory); + this->init_weight_ptr(this->model->memory); + int64_t offset = this->model->init_output_ptr(this->model->memory, this->model->chunk_length, this->model->memory->model_offset); + int64_t kv_cache_offset = this->init_output_ptr(this->model->memory, this->model->chunk_length, offset); + float ratio = float(this->model->num_hidden_layers) / (this->model->num_hidden_layers + this->num_layers); + kv_cache_offset = this->model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + kv_caches->init_output_ptr(this->model->memory, kv_cache_offset); + return min(kv_caches->budget + 1, this->model->kv_caches->budget); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 5) == "eagle") { + if (name.substr(0, 9) == "eagle.fc1") { + fc1->load_to_storage(name, ptr); + } else if (name.substr(0, 9) == "eagle.fc2") { + fc2->load_to_storage(name, ptr); + } else { + std::regex layer_regex("eagle\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } + } else { + this->model->load_to_storage(name, ptr); + } + } + + void eagle_prefill(int num_history_tokens) { + cudaMemcpy(this->prev_embed + (num_prev - 1) * this->model->hidden_size, this->model->embedding->output, this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->fc1->prefill(calc_stream, num_prev, this->prev_embed); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state); + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->prefill(num_prev, num_history_tokens, this->fc2->output, layer_output, this->eagle_position_ids, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + } + + void eagle_decode(int32_t* cache_length) { + this->fc1->prefill(calc_stream, num_prev, this->prev_embed); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state); + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->decode(num_prev, this->eagle_padded_length, this->fc2->output, layer_output, this->eagle_position_ids, cache_length, Mask(nullptr), this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->model->embedding->prefill(calc_stream, num_tokens, input); + if (num_history_tokens > 0) { + this->eagle_prefill(this->num_history_tokens); + } + + cudaMemcpy(this->prev_embed, this->model->embedding->output + this->model->hidden_size, (num_tokens - 1) * this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->model->prefill_embed(num_tokens, num_history_tokens, this->model->embedding->output, position_ids, output); + this->prev_hidden_state = this->model->norm->output; + cudaMemcpy(this->eagle_position_ids, position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev = num_tokens; + + this->num_history_tokens = num_history_tokens; + this->is_first_draft = true; + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->model->decode(num_tokens, padded_length, input, position_ids, cache_length, mask_2d, output); + } + + void draft(int32_t* tree_draft_ids, int32_t* tree_position_ids, int32_t* cache_length, uint64_t* tree_attn_mask, int32_t* tree_parent) { + cudaMemcpy(this->eagle_original_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->eagle_padded_length = (this->eagle_original_length[0] + 256 - 1) / 128 * 128; + + + if (this->is_first_draft) { + this->model->embedding->prefill(calc_stream, 1, tree_draft_ids); + this->eagle_prefill(this->num_history_tokens); + } else { + this->eagle_decode(cache_length); + } + cudaMemcpy(this->eagle_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->eagle_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, topk_per_iter, 1, 0, this->eagle_position_ids); + + { // d = 0 + this->model->lm_head->prefill(calc_stream, 1, this->fc2->output + (num_prev - 1) * this->model->hidden_size, this->eagle_logits); + log_softmax(calc_stream, 1, this->model->vocab_size, this->eagle_logits); + this->topk_func->prefill(calc_stream, 1, this->eagle_logits); + cudaMemcpy(this->topk_func_2->topk_pos, this->topk_func->topk_pos, topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->topk_func_2->topk_val, this->topk_func->topk_val, topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_val, this->topk_func->topk_val, topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_pos, this->topk_func->topk_pos, topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, topk_per_iter, this->model->hidden_size, num_prev-1, this->fc2->output, this->fc1->output); + init_tree(calc_stream, topk_per_iter, this->eagle_mask_2d); + } + for (int d = 1; d < this->num_iter; ++d) { + add(calc_stream, 1, this->eagle_cache_length, topk_per_iter); + this->model->embedding->prefill(calc_stream, topk_per_iter, this->topk_func_2->topk_pos); + this->fc2->prefill(calc_stream, topk_per_iter, this->fc1->output); + this->fc1->prefill(calc_stream, topk_per_iter, this->model->embedding->output); + elementwise_add(calc_stream, topk_per_iter, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->decode(topk_per_iter, this->eagle_padded_length, this->fc2->output, layer_output, this->eagle_position_ids, this->eagle_cache_length, Mask(eagle_mask_2d, topk_per_iter, topk_per_iter * d), this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_add(calc_stream, topk_per_iter, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + add(calc_stream, topk_per_iter, this->eagle_position_ids, 1); + + this->model->lm_head->prefill(calc_stream, topk_per_iter, this->fc2->output, this->eagle_logits); + log_softmax(calc_stream, topk_per_iter, this->model->vocab_size, this->eagle_logits); + this->topk_func->prefill(calc_stream, topk_per_iter, this->eagle_logits); + cumsum(calc_stream, topk_per_iter, topk_per_iter, this->topk_func->topk_val, this->topk_func_2->topk_val); + cudaMemcpy(this->tried_history_val + topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter, this->topk_func->topk_val, topk_per_iter * topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_pos + topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter, this->topk_func->topk_pos, topk_per_iter * topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->topk_func_2->prefill(calc_stream, 1, this->topk_func->topk_val, topk_per_iter * topk_per_iter, topk_per_iter); + + cudaMemcpy(this->tmp_mask_2d, this->eagle_mask_2d, topk_per_iter * sizeof(uint64_t), cudaMemcpyDeviceToDevice); + set_parent(calc_stream, topk_per_iter, this->tried_history_parent + (d - 1) * topk_per_iter, this->topk_func_2->topk_pos, topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter); + update_tree(calc_stream, topk_per_iter, topk_per_iter * d, this->eagle_mask_2d, this->tmp_mask_2d, this->topk_func_2->topk_pos); + remap_hidden(calc_stream, topk_per_iter, this->model->hidden_size, this->topk_func_2->topk_pos, this->fc2->output, this->fc1->output, topk_per_iter); + remap_id(calc_stream, topk_per_iter, this->topk_func_2->topk_pos, this->topk_func->topk_pos); + } + + this->topk_func_2->prefill(calc_stream, 1, this->tried_history_val); + + // build tree + build_dynamic_tree(calc_stream, this->tree_size, this->eagle_original_length[0], this->topk_per_iter, this->tried_history_parent, this->topk_func_2->topk_pos, tree_position_ids, tree_attn_mask, tree_parent); + remap_id(calc_stream, this->tree_size-1, this->topk_func_2->topk_pos, this->tried_history_pos, tree_draft_ids + 1); + + this->is_first_draft = false; + } + + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, int32_t* tree_parent) { + verify_draft(calc_stream, num_tokens, pred, gt, position_ids, cache_length, mask_2d, tree_parent, this->d_best); + cudaMemcpyAsync(this->h_best, this->d_best, 2 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + this->num_prev = h_best[0]; + remap_hidden(calc_stream, this->num_prev, this->model->hidden_size, pred, this->model->norm->output, this->prev_hidden_state); + + fix_kv_cache(calc_stream, h_best[0], this->model->kv_caches->num_hidden_layers * 2, this->model->kv_caches->dim, pred, gt, cache_length, this->model->kv_caches->d_flat_caches, this->tmp_kvcache); + + this->model->embedding->prefill(calc_stream, this->num_prev, pred); + cudaMemcpy(this->prev_embed, this->model->embedding->output, this->num_prev * this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + make_arange(calc_stream, this->num_prev, cache_length, this->eagle_position_ids); + + return h_best[0]; + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/eagle_base_quant/eagle_base_w4a16_gptq_marlin.cuh b/examples/CPM.cu/src/model/eagle_base_quant/eagle_base_w4a16_gptq_marlin.cuh new file mode 100644 index 00000000..bb6a9c82 --- /dev/null +++ b/examples/CPM.cu/src/model/eagle_base_quant/eagle_base_w4a16_gptq_marlin.cuh @@ -0,0 +1,260 @@ +#pragma once +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh" +#include "../eagle.cuh" + +template<typename T> +struct EagleImplBaseW4A16GPTQMarlin : Model { + int num_layers; + int num_iter; + int topk_per_iter; + int tree_size; + int total_tried; + + W4A16GPTQMarlinModelImpl<T>* model; + KVCacheManager<T>* kv_caches; + std::vector<Layer<T>*> layers; + Linear<T, true, true> *fc1; + Linear<T> *fc2; + functions::TopK<T>* topk_func; + functions::TopK<T>* topk_func_2; + + T *prev_hidden_state, *prev_embed; + int num_prev, num_history_tokens; + int32_t *eagle_position_ids, *eagle_cache_length; + int *eagle_original_length, eagle_padded_length; + uint64_t *eagle_mask_2d, *tmp_mask_2d; + T* eagle_logits; + T* tried_history_val; int32_t* tried_history_pos; + int32_t* tried_history_parent; + bool is_first_draft; + + int32_t *h_best, *d_best; + + T* tmp_kvcache; + + EagleImplBaseW4A16GPTQMarlin( + W4A16GPTQMarlinModelImpl<T>* model, + int num_layers, + int num_iter, + int topk_per_iter, + int tree_size + ) { + this->model = model; + this->num_layers = num_layers; + this->num_iter = num_iter; + this->topk_per_iter = topk_per_iter; + this->tree_size = tree_size; + this->total_tried = topk_per_iter * topk_per_iter * (num_iter - 1) + topk_per_iter; + + kv_caches = new KVCacheManager<T>(num_layers, this->model->num_key_value_heads, this->model->head_dim); + fc1 = new Linear<T, true, true>(this->model->hidden_size, this->model->hidden_size); + fc2 = new Linear<T>(this->model->hidden_size, this->model->hidden_size); + for (int i = 0; i < num_layers; i++) { + layers.push_back(new Layer<T>(this->model->hidden_size, this->model->intermediate_size, this->model->num_attention_heads, this->model->num_key_value_heads, this->model->head_dim, this->model->rms_norm_eps)); + } + + assert(topk_per_iter <= this->tree_size-1); + + topk_func = new functions::TopK<T>(model->vocab_size, topk_per_iter); + topk_func_2 = new functions::TopK<T>(total_tried, this->tree_size-1); + } + + void init_weight_ptr(Memory* memory) { + fc1->init_weight_ptr(memory); + fc2->init_weight_ptr(memory); + for (int i = 0; i < num_layers; i++) { + layers[i]->init_weight_ptr(memory); + } + layers[0]->attn->attn_norm = new Skip<T>(this->model->hidden_size); + kv_caches->rotary_embedding = this->model->kv_caches->rotary_embedding; + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + offset = fc1->init_output_ptr(memory, num_tokens, offset); + offset = fc2->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < num_layers; i++) { + layer_end = layers[i]->init_output_ptr(memory, num_tokens, offset); + } + offset = layer_end; + offset = memory->allocate((void**)&eagle_logits, offset, this->topk_per_iter * this->model->vocab_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_mask_2d, offset, this->topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&tmp_mask_2d, offset, this->topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&tried_history_val, offset, this->total_tried * sizeof(T)); + offset = memory->allocate((void**)&tried_history_pos, offset, this->total_tried * sizeof(int32_t)); + offset = memory->allocate((void**)&tried_history_parent, offset, this->topk_per_iter * (this->num_iter - 1) * sizeof(int32_t)); + cudaMallocHost(&eagle_original_length, sizeof(int32_t)); + + offset = topk_func->init_output_ptr(memory, this->topk_per_iter, offset); + offset = topk_func_2->init_output_ptr(memory, 1, offset); + + offset = memory->allocate((void**)&prev_hidden_state, offset, num_tokens * this->model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&prev_embed, offset, num_tokens * this->model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&eagle_cache_length, offset, sizeof(int32_t)); + + offset = memory->allocate((void**)&d_best, offset, 2 * sizeof(int32_t)); + cudaMallocHost(&h_best, 2 * sizeof(int32_t)); + offset = memory->allocate((void**)&tmp_kvcache, offset, 64 * this->model->kv_caches->num_hidden_layers * 2 * this->model->kv_caches->dim * sizeof(T)); + return offset; + } + + int init_storage() { + this->model->init_weight_ptr(this->model->memory); + this->init_weight_ptr(this->model->memory); + int64_t offset = this->model->init_output_ptr(this->model->memory, this->model->chunk_length, this->model->memory->model_offset); + int64_t kv_cache_offset = this->init_output_ptr(this->model->memory, this->model->chunk_length, offset); + float ratio = float(this->model->num_hidden_layers) / (this->model->num_hidden_layers + this->num_layers); + kv_cache_offset = this->model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + kv_caches->init_output_ptr(this->model->memory, kv_cache_offset); + return min(kv_caches->budget + 1, this->model->kv_caches->budget); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 5) == "eagle") { + if (name.substr(0, 9) == "eagle.fc1") { + fc1->load_to_storage(name, ptr); + } else if (name.substr(0, 9) == "eagle.fc2") { + fc2->load_to_storage(name, ptr); + } else { + std::regex layer_regex("eagle\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } + } else { + this->model->load_to_storage(name, ptr); + } + } + + void eagle_prefill(int num_history_tokens) { + cudaMemcpy(this->prev_embed + (num_prev - 1) * this->model->hidden_size, this->model->embedding->output, this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->fc1->prefill(calc_stream, num_prev, this->prev_embed); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state); + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->prefill(num_prev, num_history_tokens, this->fc2->output, layer_output, this->eagle_position_ids, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + } + + void eagle_decode(int32_t* cache_length) { + this->fc1->prefill(calc_stream, num_prev, this->prev_embed); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state); + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->decode(num_prev, this->eagle_padded_length, this->fc2->output, layer_output, this->eagle_position_ids, cache_length, Mask(nullptr), this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->model->embedding->prefill(calc_stream, num_tokens, input); + if (num_history_tokens > 0) { + this->eagle_prefill(this->num_history_tokens); + } + + cudaMemcpy(this->prev_embed, this->model->embedding->output + this->model->hidden_size, (num_tokens - 1) * this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->model->prefill_embed(num_tokens, num_history_tokens, this->model->embedding->output, position_ids, output); + this->prev_hidden_state = this->model->norm->output; + cudaMemcpy(this->eagle_position_ids, position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev = num_tokens; + + this->num_history_tokens = num_history_tokens; + this->is_first_draft = true; + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->model->decode(num_tokens, padded_length, input, position_ids, cache_length, mask_2d, output); + } + + void draft(int32_t* tree_draft_ids, int32_t* tree_position_ids, int32_t* cache_length, uint64_t* tree_attn_mask, int32_t* tree_parent) { + cudaMemcpy(this->eagle_original_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->eagle_padded_length = (this->eagle_original_length[0] + 256 - 1) / 128 * 128; + + + if (this->is_first_draft) { + this->model->embedding->prefill(calc_stream, 1, tree_draft_ids); + this->eagle_prefill(this->num_history_tokens); + } else { + this->eagle_decode(cache_length); + } + cudaMemcpy(this->eagle_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->eagle_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, topk_per_iter, 1, 0, this->eagle_position_ids); + + { // d = 0 + this->model->lm_head->prefill(calc_stream, 1, this->fc2->output + (num_prev - 1) * this->model->hidden_size, this->eagle_logits); + log_softmax(calc_stream, 1, this->model->vocab_size, this->eagle_logits); + this->topk_func->prefill(calc_stream, 1, this->eagle_logits); + cudaMemcpy(this->topk_func_2->topk_pos, this->topk_func->topk_pos, topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->topk_func_2->topk_val, this->topk_func->topk_val, topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_val, this->topk_func->topk_val, topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_pos, this->topk_func->topk_pos, topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, topk_per_iter, this->model->hidden_size, num_prev-1, this->fc2->output, this->fc1->output); + init_tree(calc_stream, topk_per_iter, this->eagle_mask_2d); + } + for (int d = 1; d < this->num_iter; ++d) { + add(calc_stream, 1, this->eagle_cache_length, topk_per_iter); + this->model->embedding->prefill(calc_stream, topk_per_iter, this->topk_func_2->topk_pos); + this->fc2->prefill(calc_stream, topk_per_iter, this->fc1->output); + this->fc1->prefill(calc_stream, topk_per_iter, this->model->embedding->output); + elementwise_add(calc_stream, topk_per_iter, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->decode(topk_per_iter, this->eagle_padded_length, this->fc2->output, layer_output, this->eagle_position_ids, this->eagle_cache_length, Mask(eagle_mask_2d, topk_per_iter, topk_per_iter * d), this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_add(calc_stream, topk_per_iter, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + add(calc_stream, topk_per_iter, this->eagle_position_ids, 1); + + this->model->lm_head->prefill(calc_stream, topk_per_iter, this->fc2->output, this->eagle_logits); + log_softmax(calc_stream, topk_per_iter, this->model->vocab_size, this->eagle_logits); + this->topk_func->prefill(calc_stream, topk_per_iter, this->eagle_logits); + cumsum(calc_stream, topk_per_iter, topk_per_iter, this->topk_func->topk_val, this->topk_func_2->topk_val); + cudaMemcpy(this->tried_history_val + topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter, this->topk_func->topk_val, topk_per_iter * topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_pos + topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter, this->topk_func->topk_pos, topk_per_iter * topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->topk_func_2->prefill(calc_stream, 1, this->topk_func->topk_val, topk_per_iter * topk_per_iter, topk_per_iter); + + cudaMemcpy(this->tmp_mask_2d, this->eagle_mask_2d, topk_per_iter * sizeof(uint64_t), cudaMemcpyDeviceToDevice); + set_parent(calc_stream, topk_per_iter, this->tried_history_parent + (d - 1) * topk_per_iter, this->topk_func_2->topk_pos, topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter); + update_tree(calc_stream, topk_per_iter, topk_per_iter * d, this->eagle_mask_2d, this->tmp_mask_2d, this->topk_func_2->topk_pos); + remap_hidden(calc_stream, topk_per_iter, this->model->hidden_size, this->topk_func_2->topk_pos, this->fc2->output, this->fc1->output, topk_per_iter); + remap_id(calc_stream, topk_per_iter, this->topk_func_2->topk_pos, this->topk_func->topk_pos); + } + + this->topk_func_2->prefill(calc_stream, 1, this->tried_history_val); + + // build tree + build_dynamic_tree(calc_stream, this->tree_size, this->eagle_original_length[0], this->topk_per_iter, this->tried_history_parent, this->topk_func_2->topk_pos, tree_position_ids, tree_attn_mask, tree_parent); + remap_id(calc_stream, this->tree_size-1, this->topk_func_2->topk_pos, this->tried_history_pos, tree_draft_ids + 1); + + this->is_first_draft = false; + } + + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, int32_t* tree_parent) { + verify_draft(calc_stream, num_tokens, pred, gt, position_ids, cache_length, mask_2d, tree_parent, this->d_best); + cudaMemcpyAsync(this->h_best, this->d_best, 2 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + this->num_prev = h_best[0]; + remap_hidden(calc_stream, this->num_prev, this->model->hidden_size, pred, this->model->norm->output, this->prev_hidden_state); + + fix_kv_cache(calc_stream, h_best[0], this->model->kv_caches->num_hidden_layers * 2, this->model->kv_caches->dim, pred, gt, cache_length, this->model->kv_caches->d_flat_caches, this->tmp_kvcache); + + this->model->embedding->prefill(calc_stream, this->num_prev, pred); + cudaMemcpy(this->prev_embed, this->model->embedding->output, this->num_prev * this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + make_arange(calc_stream, this->num_prev, cache_length, this->eagle_position_ids); + + return h_best[0]; + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/elementwise.cuh b/examples/CPM.cu/src/model/elementwise.cuh new file mode 100644 index 00000000..1e3ff8f9 --- /dev/null +++ b/examples/CPM.cu/src/model/elementwise.cuh @@ -0,0 +1,87 @@ +#pragma once +#include <cuda_runtime.h> +#include "../trait.cuh" +#include "../utils.cuh" + +namespace { +template <typename T2> +__global__ void batched_add_kernel(int dim, const T2* a, const T2* b, T2* c) { + int row = blockIdx.x * dim; + int col = blockIdx.y * blockDim.x + threadIdx.x; + if (col < dim) { + c[row + col] = a[row + col] + b[col]; + } +} + +template <typename T2> +__global__ void elementwise_add_kernel(int dim, const T2* a, const T2* b, T2* c) { + int row = blockIdx.x * dim; + int col = blockIdx.y * blockDim.x + threadIdx.x; + if (col < dim) { + c[row + col] = a[row + col] + b[row + col]; + } +} + +template <typename T2> +__global__ void elementwise_add3_kernel(int dim, const T2* a, const T2* b, const T2*c, T2* d) { + int row = blockIdx.x * dim; + int col = blockIdx.y * blockDim.x + threadIdx.x; + if (col < dim) { + d[row + col] = a[row + col] + b[row + col] + c[row+col]; + } +} + +template <typename T, typename T2> +__global__ void elementwise_scale_kernel(int dim, const T2* a, float v, T2* b) { + int row = blockIdx.x * dim; + int col = blockIdx.y * blockDim.x + threadIdx.x; + if (col < dim) { + b[row + col] = a[row + col] * T2(T(v), T(v)); + } +} + +template <typename T> +__global__ void batched_mul_kernel(int dim, const T* a, const T* b, T* c) { + int row = blockIdx.x; + int col = threadIdx.x; + T bv = b[row]; + for (int i = col; i < dim; i += blockDim.x) { + c[row * dim + i] = a[row * dim + i] * bv; + } +} +} // namespace + +template <typename T> +void batched_add(const Stream& stream, int num_tokens, int dim, const T* a, const T* b, T* c) { + using T2 = typename TypeTraits<T>::half2; + dim = dim / 2; + batched_add_kernel<T2><<<dim3(num_tokens, CEIL_DIV(dim, 512)), 512, 0, stream.stream>>>(dim, (T2*)a, (T2*)b, (T2*)c); +} + +template <typename T> +void elementwise_add(const Stream& stream, int num_tokens, int dim, const T* a, const T* b, T* c) { + using T2 = typename TypeTraits<T>::half2; + dim = dim / 2; + elementwise_add_kernel<T2><<<dim3(num_tokens, CEIL_DIV(dim, 512)), 512, 0, stream.stream>>>(dim, (T2*)a, (T2*)b, (T2*)c); +} + +template <typename T> +void elementwise_add3(const Stream& stream, int num_tokens, int dim, const T* a, const T* b, const T* c, T* d) { + using T2 = typename TypeTraits<T>::half2; + dim = dim / 2; + elementwise_add3_kernel<T2><<<dim3(num_tokens, CEIL_DIV(dim, 512)), 512, 0, stream.stream>>>(dim, (T2*)a, (T2*)b, (T2*)c, (T2*)d); +} + +template <typename T> +void elementwise_scale(const Stream& stream, int num_tokens, int dim, T* a, float v, T* b = nullptr) { + if (v == 1.0 && b == nullptr) return; + if (b == nullptr) b = a; + using T2 = typename TypeTraits<T>::half2; + dim = dim / 2; + elementwise_scale_kernel<T, T2><<<dim3(num_tokens, CEIL_DIV(dim, 512)), 512, 0, stream.stream>>>(dim, (T2*)a, v, (T2*)b); +} + +template <typename T> +void batched_mul(const Stream& stream, int num_tokens, int dim, const T* a, const T* b, T* c) { + batched_mul_kernel<<<num_tokens, 128, 0, stream.stream>>>(dim, (T*)a, (T*)b, (T*)c); +} \ No newline at end of file diff --git a/examples/CPM.cu/src/model/embedding.cuh b/examples/CPM.cu/src/model/embedding.cuh new file mode 100644 index 00000000..12eb1184 --- /dev/null +++ b/examples/CPM.cu/src/model/embedding.cuh @@ -0,0 +1,53 @@ +#pragma once +#include <cuda_runtime.h> +#include "../utils.cuh" + +namespace { +template <typename T> +__global__ void embedding_kernel(int32_t num_cols, const int32_t* input, const float4* weight, float4* output) { + int row = blockIdx.x; + int col = threadIdx.x; + int offset_output = row * num_cols; + int offset_weight = input[row] * num_cols; + for (int i = col; i < num_cols; i += blockDim.x) { + output[offset_output + i] = weight[offset_weight + i]; + } +} + +template <typename T> +void embedding(const Stream& stream, int32_t num_tokens, int32_t hidden_size, const int32_t* input, const T* weight, T* output) { + embedding_kernel<T><<<num_tokens, 256, 0, stream.stream>>>(hidden_size/(16/sizeof(T)), input, (float4*)weight, (float4*)output); +} +} // namespace + +template <typename T> +struct Embedding { + int vocab_size; + int hidden_size; + T* weight; + T* output; + float embed_scale; + + Embedding(int vocab_size, int hidden_size, float embed_scale = 1.0f) { + this->vocab_size = vocab_size; + this->hidden_size = hidden_size; + this->embed_scale = embed_scale; + } + + void init_weight_ptr(Memory* memory) { + weight = (T*)memory->allocate_for_model(vocab_size * hidden_size * sizeof(T)); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + return memory->allocate((void**)&this->output, offset, num_tokens * hidden_size * sizeof(T)); + } + + void load_to_storage(std::string name, void* ptr) { + cudaMemcpy((void*)weight, ptr, vocab_size * hidden_size * sizeof(T), cudaMemcpyHostToDevice); + } + + void prefill(const Stream& stream, int32_t num_tokens, int32_t* input) { + embedding(stream, num_tokens, this->hidden_size, input, this->weight, this->output); + elementwise_scale(stream, num_tokens, this->hidden_size, this->output, this->embed_scale); + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/ffn.cuh b/examples/CPM.cu/src/model/ffn.cuh new file mode 100644 index 00000000..02512c68 --- /dev/null +++ b/examples/CPM.cu/src/model/ffn.cuh @@ -0,0 +1,91 @@ +#pragma once +#include "../trait.cuh" +#include "norm.cuh" +#include "linear.cuh" +#include "activation.cuh" +#include <cuda_runtime.h> + +template <typename T> +struct FFN { + T* output; + virtual void init_weight_ptr(Memory* memory) = 0; + virtual int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) = 0; + virtual void load_to_storage(std::string name, void* ptr) = 0; + virtual void prefill(const Stream& stream, int32_t num_tokens, T* input, T* prev_output) = 0; + virtual void decode(const Stream& stream, int32_t num_tokens, T* input, T* prev_output) = 0; +}; + +template <typename T> +struct GatedFFN : FFN<T> { + int hidden_size; + int intermediate_size; + float rms_norm_eps; + + Norm<T> *ffn_norm; + Linear<T> *gate_proj, *up_proj; + Linear<T> *down_proj; + + T* gated_up; + + GatedFFN(int hidden_size, int intermediate_size, float rms_norm_eps) { + this->hidden_size = hidden_size; + this->intermediate_size = intermediate_size; + this->rms_norm_eps = rms_norm_eps; + + this->ffn_norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + this->gate_proj = new Linear<T>(hidden_size, intermediate_size); + this->up_proj = new Linear<T>(hidden_size, intermediate_size); + this->down_proj = new Linear<T>(intermediate_size, hidden_size); + } + + void init_weight_ptr(Memory* memory) { + this->ffn_norm->init_weight_ptr(memory); + this->gate_proj->init_weight_ptr(memory); + this->up_proj->init_weight_ptr(memory); + this->down_proj->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t ffn_norm_end = this->ffn_norm->init_output_ptr(memory, num_tokens, offset); + int64_t gate_proj_end = this->gate_proj->init_output_ptr(memory, num_tokens, ffn_norm_end); + int64_t up_proj_end = this->up_proj->init_output_ptr(memory, num_tokens, gate_proj_end); + int64_t gated_up_end = memory->allocate((void**)&this->gated_up, up_proj_end, num_tokens * intermediate_size * sizeof(T)); + int64_t down_proj_end = this->down_proj->init_output_ptr(memory, num_tokens, gated_up_end); + this->output = this->down_proj->output; + return down_proj_end; + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("gate_proj") != std::string::npos) { + this->gate_proj->load_to_storage(name, ptr); + } else if (name.find("up_proj") != std::string::npos) { + this->up_proj->load_to_storage(name, ptr); + } else if (name.find("down_proj") != std::string::npos) { + this->down_proj->load_to_storage(name, ptr); + } else if (name.find("post_attention_layernorm") != std::string::npos) { + this->ffn_norm->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, T* input, T* prev_output) { + this->ffn_norm->prefill(stream, num_tokens, input, prev_output); + +#ifdef DISABLE_MEMPOOL + this->gate_proj->prefill(stream, num_tokens, this->ffn_norm->output); + this->up_proj->prefill(stream, num_tokens, this->ffn_norm->output); + cudaMemcpy(this->gated_up, this->up_proj->output, num_tokens * this->intermediate_size * sizeof(T), cudaMemcpyDeviceToDevice); + gated_silu<T>(stream, num_tokens, this->intermediate_size, this->gate_proj->output, this->gated_up); +#else + linear<T>(stream, num_tokens, this->hidden_size, this->intermediate_size*2, this->ffn_norm->output, this->gate_proj->weight, this->gate_proj->output); + gated_silu_interleaved<T>(stream, num_tokens, this->intermediate_size, this->gate_proj->output, this->gated_up); +#endif + + this->down_proj->prefill(stream, num_tokens, this->gated_up); + } + + void decode(const Stream& stream, int32_t num_tokens, T* input, T* prev_output) { + prefill(stream, num_tokens, input, prev_output); + } +}; diff --git a/examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_rot_spec_w4a16_gm.cuh b/examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_rot_spec_w4a16_gm.cuh new file mode 100644 index 00000000..dcebb582 --- /dev/null +++ b/examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_rot_spec_w4a16_gm.cuh @@ -0,0 +1,706 @@ +#pragma once +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh" +#include "../eagle.cuh" +#include "../drafter.cuh" +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_layer.cuh" + + +template <typename T> +struct HierEagleW4A16GMRotSpecW4A16GMImpl: Model { + + // eagle + int ea_num_layers; + int ea_num_iter; + int ea_topk_per_iter; + int ea_tree_size; + int ea_total_tried; + + KVCacheManager<T>* ea_kv_caches; + // new embedding + Embedding<T>* ea_embedding; + std::vector<Layer<T>*> ea_layers; + Linear<T> * ea_rms_norm_rotation; + Linear<T, true, true> *ea_fc1; + Linear<T> *ea_fc2; + Linear<T> *ea_lm_head; + functions::TopK<T>* ea_topk_func; + functions::TopK<T>* ea_topk_func_2; + + T *ea_prev_hidden_state, *ea_prev_embed; + int ea_num_prev, ea_num_history_tokens; + int32_t *eagle_position_ids, *eagle_cache_length; + int *eagle_original_length, eagle_padded_length; + uint64_t *eagle_mask_2d, *ea_tmp_mask_2d; + T* eagle_logits; + T* ea_tried_history_val; int32_t* ea_tried_history_pos; + int32_t* ea_tried_history_parent; + bool ea_is_first_draft; + + + int32_t *ea_h_best, *ea_d_best; + + T* ea_tmp_kvcache; + + int32_t* ea_tree_draft_ids, *ea_tree_position_ids, *ea_tree_cache_length, *ea_tree_parent; + uint64_t* ea_tree_attn_mask; + + // draft & target + + W4A16GPTQMarlinModelImpl<T>* draft_model; + W4A16GPTQMarlinModelImpl<T>* model; + + // draft args + int32_t *draft_input; + int32_t *draft_position_ids, *draft_cache_length; + int * host_draft_cache_length; + int draft_padded_length; + T* draft_logits; + bool is_first_draft; + functions::TopK<T>* topk_func; + int32_t *draft_tmp; + int32_t *h_best, *d_best; + int num_prev, num_history_tokens; + + // draft mask always nullptr + uint64_t* draft_mask_2d; + + // graph + bool draft_cuda_graph; + int draft_graphCreated_padding_length; + int draft_graphCreated_input_length; + cudaGraph_t draft_graph; + cudaGraphExec_t draft_graphExec; + + // cascade vars + int cur_draft_length; + int min_draft_length; + T * draft_tmp_hidden_state; + bool draft_model_start; // start from draft model for num_prev == 1 + + int32_t* ea_accept_nums; + int ea_accept_nums_size; + int cur_ea_accept_nums_size; + + HierEagleW4A16GMRotSpecW4A16GMImpl( + W4A16GPTQMarlinModelImpl<T>* model, + int draft_vocab_size, + int draft_num_hidden_layers, + int draft_hidden_size, + int draft_intermediate_size, + int draft_num_attention_heads, + int draft_num_key_value_heads, + int draft_head_dim, + float draft_rms_norm_eps, + int draft_group_size, + // int num_iter, + int min_draft_length, + bool draft_cuda_graph, + // eagle args + int ea_num_layers, + int ea_num_iter, + int ea_topk_per_iter, + int ea_tree_size, + bool draft_model_start + ) { + this->model = model; + this->draft_model = new W4A16GPTQMarlinModelImpl<T>( + 0, + draft_vocab_size, + draft_num_hidden_layers, + draft_hidden_size, + draft_intermediate_size, + draft_num_attention_heads, + draft_num_key_value_heads, + draft_head_dim, + draft_rms_norm_eps, + draft_group_size, + this->model->chunk_length + ); + + // draft config + this->draft_mask_2d = 0; + topk_func = new functions::TopK<T>(model->vocab_size, 1); // greedy sample + + this->draft_cuda_graph = draft_cuda_graph; + this->draft_graphCreated_padding_length = -1; + this->draft_graphCreated_input_length = -1; + this->draft_graph = nullptr; + this->draft_graphExec = nullptr; + + this->min_draft_length = min_draft_length; + this->draft_model_start = draft_model_start; + + // eagle config + this->ea_num_layers = ea_num_layers; + this->ea_num_iter = ea_num_iter; + this->ea_topk_per_iter = ea_topk_per_iter; + this->ea_tree_size = ea_tree_size; + this->ea_total_tried = ea_topk_per_iter * ea_topk_per_iter * (ea_num_iter-1) + ea_topk_per_iter; + + // ea model + ea_embedding = new Embedding<T>(this->draft_model->vocab_size, this->draft_model->hidden_size); + + ea_kv_caches = new KVCacheManager<T>(ea_num_layers, this->draft_model->num_key_value_heads, this->draft_model->head_dim); + ea_rms_norm_rotation = new Linear<T>(this->draft_model->hidden_size, this->draft_model->hidden_size); + ea_fc1 = new Linear<T, true, true>(this->draft_model->hidden_size, this->draft_model->hidden_size); + ea_fc2 = new Linear<T>(this->draft_model->hidden_size, this->draft_model->hidden_size); + for (int i = 0; i < ea_num_layers; i++) { + ea_layers.push_back(new Layer<T>(this->draft_model->hidden_size, this->draft_model->intermediate_size, this->draft_model->num_attention_heads, this->draft_model->num_key_value_heads, this->draft_model->head_dim, this->draft_model->rms_norm_eps)); + } + ea_lm_head = new Linear<T>(this->draft_model->hidden_size, this->draft_model->vocab_size); + + ea_topk_func = new functions::TopK<T>(this->draft_model->vocab_size, ea_topk_per_iter); + ea_topk_func_2 = new functions::TopK<T>(ea_total_tried, this->ea_tree_size-1); + + this->ea_accept_nums_size = 0; + this->cur_ea_accept_nums_size = 0; + + } + + void init_weight_ptr(Memory* memory) { + ea_embedding->init_weight_ptr(memory); + ea_rms_norm_rotation->init_weight_ptr(memory); + ea_fc1->init_weight_ptr(memory); + ea_fc2->init_weight_ptr(memory); + for (int i = 0; i < ea_num_layers; i++) { + ea_layers[i]->init_weight_ptr(memory); + } + ea_lm_head->init_weight_ptr(memory); + ea_layers[0]->attn->attn_norm = new Skip<T>(this->draft_model->hidden_size); + ea_kv_caches->rotary_embedding = this->draft_model->kv_caches->rotary_embedding; + } + + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + // init eagle output + offset = ea_embedding->init_output_ptr(memory, num_tokens, offset); + offset = ea_rms_norm_rotation->init_output_ptr(memory, num_tokens, offset); + offset = ea_fc1->init_output_ptr(memory, num_tokens, offset); + offset = ea_fc2->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < ea_num_layers; i++) { + layer_end = ea_layers[i]->init_output_ptr(memory, num_tokens, offset); + } + offset = ea_lm_head->init_output_ptr(memory, 64, layer_end); + offset = memory->allocate((void**)&eagle_logits, offset, this->ea_topk_per_iter * this->draft_model->vocab_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_mask_2d, offset, this->ea_topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&ea_tmp_mask_2d, offset, this->ea_topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&ea_tried_history_val, offset, this->ea_total_tried * sizeof(T)); + offset = memory->allocate((void**)&ea_tried_history_pos, offset, this->ea_total_tried * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tried_history_parent, offset, this->ea_topk_per_iter * (this->ea_num_iter - 1) * sizeof(int32_t)); + cudaMallocHost(&eagle_original_length, sizeof(int32_t)); + + offset = ea_topk_func->init_output_ptr(memory, this->ea_topk_per_iter, offset); + offset = ea_topk_func_2->init_output_ptr(memory, 1, offset); + + offset = memory->allocate((void**)&ea_prev_hidden_state, offset, num_tokens * this->draft_model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&ea_prev_embed, offset, num_tokens * this->draft_model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&eagle_cache_length, offset, sizeof(int32_t)); + + offset = memory->allocate((void**)&ea_d_best, offset, 2 * sizeof(int32_t)); + cudaMallocHost(&ea_h_best, 2 * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tmp_kvcache, offset, 64 * this->draft_model->kv_caches->num_hidden_layers * 2 * this->draft_model->kv_caches->dim * sizeof(T)); + + // to allocate ealge draft some states + offset = memory->allocate((void**)&ea_tree_draft_ids, offset, this->ea_tree_size * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_position_ids, offset, this->ea_tree_size * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_cache_length, offset, sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_parent, offset, this->ea_tree_size * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_attn_mask, offset, this->ea_tree_size * sizeof(uint64_t)); + + + + // init draft output + int64_t lm_head_end = this->draft_model->init_output_ptr(memory, num_tokens, offset); + offset = lm_head_end; + + offset = memory->allocate((void**)&draft_input, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&draft_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&draft_cache_length, offset, sizeof(int32_t)); + cudaMallocHost(&host_draft_cache_length, sizeof(int32_t)); + + + offset = memory->allocate((void**)&draft_logits, offset, 64 * this->draft_model->vocab_size * sizeof(T)); + offset = topk_func->init_output_ptr(memory, 64, offset); + + offset = memory->allocate((void**)&draft_tmp, offset, (this->min_draft_length + ea_num_iter + 1)*sizeof(int32_t)); + offset = memory->allocate((void**)&d_best, offset, sizeof(int32_t)); + cudaMallocHost(&h_best, sizeof(int32_t)); + + // cascade vars + offset = memory->allocate((void**)&draft_tmp_hidden_state, offset, (this->min_draft_length + ea_num_iter + 1) * this->draft_model->hidden_size * sizeof(T)); + // cudaMallocHost(&host_ea_accept_nums, 1024 * sizeof(int)); + offset = memory->allocate((void**)&ea_accept_nums, offset, 1024 * sizeof(int32_t)); + return offset; + } + + int init_storage() { + + this->model->init_weight_ptr(this->model->memory); + // this->init_weight_ptr(this->model->memory); + this->draft_model->init_weight_ptr(this->model->memory); + this->init_weight_ptr(this->model->memory); + + int64_t offset = this->model->init_output_ptr(this->model->memory, this->model->chunk_length, this->model->memory->model_offset); + int64_t kv_cache_offset = init_output_ptr(this->model->memory, this->model->chunk_length, offset); + + int model_kv_size = (this->model->num_hidden_layers*this->model->num_key_value_heads*this->model->head_dim); + int draft_kv_size = (this->draft_model->num_hidden_layers*this->draft_model->num_key_value_heads*this->draft_model->head_dim); + int ea_kv_size = this->ea_num_layers * this->draft_model->num_key_value_heads * this->draft_model->head_dim; + float ratio = float(model_kv_size)/float(model_kv_size + draft_kv_size + ea_kv_size); + kv_cache_offset = this->model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + ratio = float(draft_kv_size)/float(draft_kv_size + ea_kv_size); + kv_cache_offset = this->draft_model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + this->ea_kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, 1.0); + return min(min(this->draft_model->kv_caches->budget, this->model->kv_caches->budget), this->ea_kv_caches->budget + 1); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 5) == "eagle") { + if (name.substr(0, 23) == "eagle.rms_norm_rotation") { + ea_rms_norm_rotation->load_to_storage(name, ptr); + } else if (name.substr(0, 18) == "eagle.embed_tokens") { + ea_embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 9) == "eagle.fc1") { + ea_fc1->load_to_storage(name, ptr); + } else if (name.substr(0, 9) == "eagle.fc2") { + ea_fc2->load_to_storage(name, ptr); + } else if (name.substr(0, 13) == "eagle.lm_head") { + ea_lm_head->load_to_storage(name, ptr); + } else { + std::regex layer_regex("eagle\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + ea_layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } + } else if (name.substr(0, 5) == "draft"){ + std::string draft_name = name.substr(6); + this->draft_model->load_to_storage(draft_name, ptr); + } else { + this->model->load_to_storage(name, ptr); + } + } + + + + void eagle_prefill(int num_history_tokens) { + cudaMemcpy(this->ea_prev_embed + (ea_num_prev - 1) * this->draft_model->hidden_size, this->ea_embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_fc1->prefill(calc_stream, ea_num_prev, this->ea_prev_embed); + this->ea_rms_norm_rotation->prefill(calc_stream, ea_num_prev, this->ea_prev_hidden_state); + this->ea_fc2->prefill(calc_stream, ea_num_prev, this->ea_rms_norm_rotation->output); + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc1->output, this->ea_fc2->output, this->ea_fc2->output); + T* layer_output = nullptr; + + for (int i = 0; i < ea_num_layers; i++) { + this->ea_layers[i]->prefill(num_prev, num_history_tokens, this->ea_fc2->output, layer_output, this->eagle_position_ids, this->ea_kv_caches->caches[i]); + layer_output = this->ea_layers[i]->output; + } + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc2->output, layer_output, this->ea_fc2->output); + } + + void eagle_decode(int32_t* cache_length) { + + this->ea_fc1->prefill(calc_stream, ea_num_prev, this->ea_prev_embed); + this->ea_rms_norm_rotation->prefill(calc_stream, ea_num_prev, this->ea_prev_hidden_state); + this->ea_fc2->prefill(calc_stream, ea_num_prev, this->ea_rms_norm_rotation->output); + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc1->output, this->ea_fc2->output, this->ea_fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < ea_num_layers; i++) { + this->ea_layers[i]->decode(ea_num_prev, this->eagle_padded_length, this->ea_fc2->output, layer_output, this->eagle_position_ids, cache_length, Mask(nullptr), this->ea_kv_caches->caches[i]); + layer_output = this->ea_layers[i]->output; + } + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc2->output, layer_output, this->ea_fc2->output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->model->prefill(num_tokens, num_history_tokens, input, position_ids, output); + if (num_history_tokens > 0) { + this->draft_model->embedding->prefill(calc_stream, this->num_prev, this->draft_input); + + // new embedding + this->ea_embedding->prefill(calc_stream, this->num_prev, this->draft_input); + cudaMemcpy(this->ea_prev_embed, this->ea_embedding->output+this->draft_model->hidden_size, (this->num_prev-1) * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + this->draft_model->prefill_embed(this->num_prev, this->num_history_tokens, this->draft_model->embedding->output, this->draft_position_ids, (void*)this->draft_logits); + + cudaMemcpy(this->ea_prev_hidden_state, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + this->ea_embedding->prefill(calc_stream, 1, input); + this->eagle_prefill(this->ea_num_history_tokens); + + // this->draft_model-> + } + + cudaMemcpy(this->draft_input, input, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_position_ids, position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev = num_tokens; + this->num_history_tokens = num_history_tokens; + this->is_first_draft = true; + + // eagle + cudaMemcpy(this->eagle_position_ids, this->draft_position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->ea_num_prev = num_tokens; + this->ea_num_history_tokens = num_history_tokens; + this->ea_is_first_draft = true; + + + this->ea_accept_nums_size = 0; + cudaMemcpy(this->ea_accept_nums, &this->ea_accept_nums_size, sizeof(int), cudaMemcpyHostToDevice); + } + + + void draft_decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + throw std::runtime_error("Draft decode is not supported"); + } + + void draft_decode_with_graph_control(int32_t d_num_tokens, int32_t d_padded_length, int32_t* d_input, int32_t* d_position_ids, int32_t* d_cache_length, uint64_t* d_mask_2d, void* d_output) { + if (this->draft_cuda_graph) { + if (this->draft_graphCreated_padding_length != d_padded_length || this->draft_graphCreated_input_length != d_num_tokens) { + if (this->draft_graphExec != nullptr) { + cudaGraphExecDestroy(this->draft_graphExec); + this->draft_graphExec = nullptr; + } + if (this->draft_graph != nullptr) { + cudaGraphDestroy(this->draft_graph); + this->draft_graph = nullptr; + } + cudaStreamBeginCapture(calc_stream.stream, cudaStreamCaptureModeGlobal); + this->draft_model->decode(d_num_tokens, d_padded_length, d_input, d_position_ids, d_cache_length, d_mask_2d, d_output); + cudaStreamEndCapture(calc_stream.stream, &(this->draft_graph)); + cudaGraphInstantiate(&(this->draft_graphExec), this->draft_graph, nullptr, nullptr, 0); + this->draft_graphCreated_padding_length = d_padded_length; + this->draft_graphCreated_input_length = d_num_tokens; + } + cudaGraphLaunch(this->draft_graphExec, calc_stream.stream); + } else { + this->draft_model->decode(d_num_tokens, d_padded_length, d_input, d_position_ids, d_cache_length, d_mask_2d, d_output); + } + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->model->decode(num_tokens, padded_length, input, position_ids, cache_length, nullptr, output); + } + + + void draft_with_eagle(int32_t* ea_tree_draft_ids, int32_t* ea_tree_position_ids, int32_t* ea_cache_length, uint64_t* ea_tree_attn_mask, int32_t* ea_tree_parent) { + cudaMemcpy(this->eagle_original_length, ea_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->eagle_padded_length = (this->eagle_original_length[0] + 256 - 1) / 128 * 128; + if (this->ea_is_first_draft) { + // prefill hidden states and embedding have been cpy + this->ea_embedding->prefill(calc_stream, 1, ea_tree_draft_ids); + this->eagle_prefill(this->ea_num_history_tokens); + } else { + this->eagle_decode(ea_cache_length); + } + + cudaMemcpy(this->eagle_cache_length, ea_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->eagle_position_ids, ea_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, ea_topk_per_iter, 1, 0, this->eagle_position_ids); + + { // d = 0 + this->ea_lm_head->prefill(calc_stream, 1, this->ea_fc2->output + (ea_num_prev - 1) * this->draft_model->hidden_size, this->eagle_logits); + log_softmax(calc_stream, 1, this->draft_model->vocab_size, this->eagle_logits); + this->ea_topk_func->prefill(calc_stream, 1, this->eagle_logits); + cudaMemcpy(this->ea_topk_func_2->topk_pos, this->ea_topk_func->topk_pos, ea_topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_topk_func_2->topk_val, this->ea_topk_func->topk_val, ea_topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tried_history_val, this->ea_topk_func->topk_val, ea_topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tried_history_pos, this->ea_topk_func->topk_pos, ea_topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, ea_num_prev-1, this->ea_fc2->output, this->ea_fc1->output); + init_tree(calc_stream, ea_topk_per_iter, this->eagle_mask_2d); + } + + for (int d = 1; d < this->ea_num_iter; ++d) { + add(calc_stream, 1, this->eagle_cache_length, ea_topk_per_iter); + this->ea_embedding->prefill(calc_stream, ea_topk_per_iter, this->ea_topk_func_2->topk_pos); + this->ea_fc2->prefill(calc_stream, ea_topk_per_iter, this->ea_fc1->output); + this->ea_fc1->prefill(calc_stream, ea_topk_per_iter, this->ea_embedding->output); + elementwise_add(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, this->ea_fc1->output, this->ea_fc2->output, this->ea_fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < ea_num_layers; i++) { + this->ea_layers[i]->decode(ea_topk_per_iter, this->eagle_padded_length, this->ea_fc2->output, layer_output, this->eagle_position_ids, this->eagle_cache_length, Mask(eagle_mask_2d, ea_topk_per_iter, ea_topk_per_iter * d), this->ea_kv_caches->caches[i]); + layer_output = this->ea_layers[i]->output; + } + elementwise_add(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, this->ea_fc2->output, layer_output, this->ea_fc2->output); + add(calc_stream, ea_topk_per_iter, this->eagle_position_ids, 1); + + this->ea_lm_head->prefill(calc_stream, ea_topk_per_iter, this->ea_fc2->output, this->eagle_logits); + log_softmax(calc_stream, ea_topk_per_iter, this->draft_model->vocab_size, this->eagle_logits); + this->ea_topk_func->prefill(calc_stream, ea_topk_per_iter, this->eagle_logits); + cumsum(calc_stream, ea_topk_per_iter, ea_topk_per_iter, this->ea_topk_func->topk_val, this->ea_topk_func_2->topk_val); + cudaMemcpy(this->ea_tried_history_val + ea_topk_per_iter + (d - 1) * ea_topk_per_iter * ea_topk_per_iter, this->ea_topk_func->topk_val, ea_topk_per_iter * ea_topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tried_history_pos + ea_topk_per_iter + (d - 1) * ea_topk_per_iter * ea_topk_per_iter, this->ea_topk_func->topk_pos, ea_topk_per_iter * ea_topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->ea_topk_func_2->prefill(calc_stream, 1, this->ea_topk_func->topk_val, ea_topk_per_iter * ea_topk_per_iter, ea_topk_per_iter); + + cudaMemcpy(this->ea_tmp_mask_2d, this->eagle_mask_2d, ea_topk_per_iter * sizeof(uint64_t), cudaMemcpyDeviceToDevice); + set_parent(calc_stream, ea_topk_per_iter, this->ea_tried_history_parent + (d - 1) * ea_topk_per_iter, this->ea_topk_func_2->topk_pos, 10 + (d - 1) * ea_topk_per_iter * ea_topk_per_iter); + update_tree(calc_stream, ea_topk_per_iter, ea_topk_per_iter * d, this->eagle_mask_2d, this->ea_tmp_mask_2d, this->ea_topk_func_2->topk_pos); + remap_hidden(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, this->ea_topk_func_2->topk_pos, this->ea_fc2->output, this->ea_fc1->output, ea_topk_per_iter); + remap_id(calc_stream, ea_topk_per_iter, this->ea_topk_func_2->topk_pos, this->ea_topk_func->topk_pos); + } + + this->ea_topk_func_2->prefill(calc_stream, 1, this->ea_tried_history_val); + + // build tree + build_dynamic_tree(calc_stream, this->ea_tree_size, this->eagle_original_length[0], this->ea_topk_per_iter, this->ea_tried_history_parent, this->ea_topk_func_2->topk_pos, ea_tree_position_ids, ea_tree_attn_mask, ea_tree_parent); + remap_id(calc_stream, this->ea_tree_size-1, this->ea_topk_func_2->topk_pos, this->ea_tried_history_pos, ea_tree_draft_ids + 1); + + this->ea_is_first_draft = false; + } + + void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t*, int32_t*) { + // reset cur draft length + this->cur_draft_length = 0; + this->cur_ea_accept_nums_size = 0; + if (this->is_first_draft) { + // append tree draft ids to draft input + cudaMemcpy(this->draft_input+this->num_prev, tree_draft_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_position_ids+this->num_prev, tree_position_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev += 1; + + this->draft_model->embedding->prefill(calc_stream, this->num_prev, this->draft_input); + + // new embedding + this->ea_embedding->prefill(calc_stream, this->num_prev, this->draft_input); + cudaMemcpy(this->ea_prev_embed, this->ea_embedding->output+ this->draft_model->hidden_size, (this->num_prev-1) * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + this->draft_model->prefill_embed(this->num_prev, this->num_history_tokens, this->draft_model->embedding->output, this->draft_position_ids, (void*)this->draft_logits); + + // eagle prepare for draft_with_eagle function + // ea_is_first_draft is True + cudaMemcpy(this->eagle_position_ids + (this->ea_num_prev), tree_position_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->ea_num_prev = this->num_prev; + + cudaMemcpy(this->ea_prev_hidden_state, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->topk_func->prefill(calc_stream, 1, this->draft_logits); + + + // prepare for draft with eagle + cudaMemcpy(this->ea_tree_draft_ids, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->ea_tree_cache_length, 1); + + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, 1); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + + // draft model has forward one time + cudaMemcpy(this->draft_tmp, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp_hidden_state, this->draft_model->norm->output + (this->num_prev-1) * this->draft_model->hidden_size, this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + this->cur_draft_length += 1; + + } else if (this->num_prev == 2){ + this->draft_model->embedding->prefill(calc_stream, this->num_prev, this->draft_input); + + // new embedding + this->ea_embedding->prefill(calc_stream, this->num_prev, this->draft_input); + cudaMemcpy(this->ea_prev_embed + (ea_num_prev)* this->draft_model->hidden_size, this->ea_embedding->output + this->draft_model->hidden_size, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + this->draft_model->decode_embed(this->num_prev, this->draft_padded_length, this->draft_model->embedding->output, this->draft_position_ids, this->draft_cache_length, nullptr, (void*)this->draft_logits); + + + this->topk_func->prefill(calc_stream, 1, this->draft_logits+(this->draft_model->vocab_size)); + + + // prepare for the eagle input + cudaMemcpy(this->ea_prev_hidden_state + (ea_num_prev)* this->draft_model->hidden_size, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + + // new embeddding + // this->draft_model->embedding->prefill(calc_stream, 1, this->topk_func->topk_pos); + // cudaMemcpy(this->ea_prev_embed + (ea_num_prev+1)* this->draft_model->hidden_size, this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_embedding->prefill(calc_stream, 1, this->topk_func->topk_pos); + cudaMemcpy(this->ea_prev_embed + (ea_num_prev+1)* this->draft_model->hidden_size, this->ea_embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_num_prev += this->num_prev; + + + // prepare for draft with eagle + cudaMemcpy(this->ea_tree_draft_ids, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + + // draft model has forward one time + cudaMemcpy(this->draft_tmp, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp_hidden_state, this->draft_model->norm->output + (this->num_prev-1) * this->draft_model->hidden_size, this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + this->cur_draft_length += 1; + } else if (this->draft_model_start) { + // num_prev == 1 + this->draft_model->decode(this->num_prev, this->draft_padded_length, this->draft_input, this->draft_position_ids, this->draft_cache_length, nullptr, (void*)this->draft_logits); + this->topk_func->prefill(calc_stream, 1, this->draft_logits); + + // prepare for the eagle input + cudaMemcpy(this->ea_prev_hidden_state + (ea_num_prev)*this->draft_model->hidden_size, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + + // new embeddding + // this->draft_model->embedding->prefill(calc_stream, 1, this->topk_func->topk_pos); + // cudaMemcpy(this->ea_prev_embed + (ea_num_prev)* this->draft_model->hidden_size, this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_embedding->prefill(calc_stream, 1, this->topk_func->topk_pos); + cudaMemcpy(this->ea_prev_embed + (ea_num_prev)* this->draft_model->hidden_size, this->ea_embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_num_prev += this->num_prev; + + // prepare for draft with eagle + cudaMemcpy(this->ea_tree_draft_ids, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + + + // draft model has forward one time + cudaMemcpy(this->draft_tmp, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp_hidden_state, this->draft_model->norm->output + (this->num_prev-1) * this->draft_model->hidden_size, this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + this->cur_draft_length += 1; + + } else { + cudaMemcpy(this->ea_tree_draft_ids, tree_draft_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + } + + + + while (this->cur_draft_length < min_draft_length){ + + // eagle draft + this->draft_with_eagle( + this->ea_tree_draft_ids, + this->ea_tree_position_ids, + this->ea_tree_cache_length, + this->ea_tree_attn_mask, + this->ea_tree_parent + ); + + + cudaMemcpy(this->draft_cache_length, this->ea_tree_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->ea_tree_size); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128;; + + this->draft_decode_with_graph_control( + this->ea_tree_size, + this->draft_padded_length, + this->ea_tree_draft_ids, + this->ea_tree_position_ids, + this->draft_cache_length, + this->ea_tree_attn_mask, + (void*) this->draft_logits + ); + this->topk_func->prefill(calc_stream, this->ea_tree_size, this->draft_logits); + + + this->draft_verify( + this->ea_tree_size, + this->ea_tree_draft_ids, + this->topk_func->topk_pos, + this->ea_tree_position_ids, + this->ea_tree_cache_length, + this->ea_tree_attn_mask, + this->ea_tree_parent + ); + + cudaMemcpy(this->ea_accept_nums + (this->ea_accept_nums_size+this->cur_ea_accept_nums_size+1), this->ea_d_best, sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->cur_ea_accept_nums_size += 1; + + + // accept return to ea_h_best[0] + cudaMemcpy(this->ea_tree_draft_ids, this->ea_tree_draft_ids + (this->ea_h_best[0]-1), sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->ea_tree_cache_length, this->ea_h_best[0]); + + } + + + + cudaMemcpy(tree_draft_ids + 1, this->draft_tmp, this->cur_draft_length*sizeof(int32_t), cudaMemcpyDeviceToDevice); + make_arange(calc_stream, this->cur_draft_length+1, cache_length, tree_position_ids); + this->is_first_draft = false; + } + + int draft_verify(int32_t ea_num_tokens, int32_t* ea_pred, int32_t* ea_gt, int32_t* ea_position_ids, int32_t* ea_cache_length, uint64_t* ea_mask_2d, int32_t* ea_tree_parent) { + verify_draft(calc_stream, ea_num_tokens, ea_pred, ea_gt, ea_position_ids, ea_cache_length, ea_mask_2d, ea_tree_parent, this->ea_d_best); + + cudaMemcpyAsync(this->ea_h_best, this->ea_d_best, 2 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + this->ea_num_prev = ea_h_best[0]; + remap_hidden(calc_stream, this->ea_num_prev, this->draft_model->hidden_size, ea_pred, this->draft_model->norm->output, this->ea_prev_hidden_state); + + fix_kv_cache(calc_stream, ea_h_best[0], this->draft_model->kv_caches->num_hidden_layers * 2, this->draft_model->kv_caches->dim, ea_pred, ea_gt, ea_cache_length, this->draft_model->kv_caches->d_flat_caches, this->ea_tmp_kvcache); + + this->ea_embedding->prefill(calc_stream, this->ea_num_prev, ea_pred); + cudaMemcpy(this->ea_prev_embed, this->ea_embedding->output, this->ea_num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + make_arange(calc_stream, this->ea_num_prev, ea_cache_length, this->eagle_position_ids); + + cudaMemcpy(this->draft_tmp_hidden_state + (this->cur_draft_length*this->draft_model->hidden_size), this->ea_prev_hidden_state, this->ea_num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + cudaMemcpy(this->draft_tmp + this->cur_draft_length, ea_pred, this->ea_num_prev * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->cur_draft_length += this->ea_num_prev; + + return ea_h_best[0]; + } + + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) { + verify_seq_draft(calc_stream, num_tokens, pred, gt, (uint16_t*)attn_mask, this->d_best); + cudaMemcpyAsync(this->h_best, this->d_best, 1 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + if (h_best[0]>(this->cur_draft_length+1)) { + h_best[0] = this->cur_draft_length+1; + } + + if (h_best[0]==(this->cur_draft_length+1)) { + // full accept + this->num_prev = 2; + cudaMemcpy(this->draft_input, gt + (this->cur_draft_length-1), 2*sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->h_best[0]+1); + make_arange(calc_stream, 2, cache_length, this->draft_position_ids); + add(calc_stream, 2, this->draft_position_ids, this->cur_draft_length); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128; + } else { + this->num_prev = 1; + cudaMemcpy(this->draft_input, gt + (this->h_best[0]-1), sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->h_best[0]+1); + cudaMemcpy(this->draft_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_position_ids, this->h_best[0]); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128; + + // adapt eagle draft ptr + // conidtion 1: eagle last start postion is larger than accept position + if (host_draft_cache_length[0] > this->eagle_original_length[0] + 1) { + this->ea_num_prev = host_draft_cache_length[0] - (this->eagle_original_length[0] + 1); + // keep ea_prev_hidden_state and update ea_prev_embed + // new embedding + // this->draft_model->embedding->prefill(calc_stream, 1, this->draft_input); + // cudaMemcpy(this->ea_prev_embed+(this->ea_num_prev-1), this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_embedding->prefill(calc_stream, 1, this->draft_input); + cudaMemcpy(this->ea_prev_embed+(this->ea_num_prev-1), this->ea_embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + } else { + // condition 2: eagle last start position is less than accept position + // index from the kepted draft model hidden state + cudaMemcpy(this->ea_prev_hidden_state, this->draft_tmp_hidden_state + (h_best[0]-1) *this->draft_model->hidden_size, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_num_prev = 1; + // new embedding + // this->draft_model->embedding->prefill(calc_stream, 1, this->draft_input); + // cudaMemcpy(this->ea_prev_embed, this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_embedding->prefill(calc_stream, 1, this->draft_input); + cudaMemcpy(this->ea_prev_embed, this->ea_embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->eagle_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->eagle_position_ids, this->h_best[0]-1); + } + + + } + + + this->ea_accept_nums_size += this->cur_ea_accept_nums_size; + add(calc_stream, 1, this->ea_accept_nums, this->cur_ea_accept_nums_size); + cudaMemcpy(tree_parent, this->ea_accept_nums, (this->ea_accept_nums_size+1) * sizeof(int32_t), cudaMemcpyDeviceToDevice); + + + + return h_best[0]; + + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_spec_w4a16_gm.cuh b/examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_spec_w4a16_gm.cuh new file mode 100644 index 00000000..6a1ed7b8 --- /dev/null +++ b/examples/CPM.cu/src/model/hier_spec_quant/hier_ea_w4a16_gm_spec_w4a16_gm.cuh @@ -0,0 +1,662 @@ +#pragma once +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh" +#include "../eagle.cuh" +#include "../drafter.cuh" +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_layer.cuh" + + +template <typename T> +struct HierEagleW4A16GMSpecW4A16GMImpl: Model { + + // eagle + int ea_num_layers; + int ea_num_iter; + int ea_topk_per_iter; + int ea_tree_size; + int ea_total_tried; + + KVCacheManager<T>* ea_kv_caches; + std::vector<Layer<T>*> ea_layers; + Linear<T, true, true> *ea_fc1; + Linear<T> *ea_fc2; + functions::TopK<T>* ea_topk_func; + functions::TopK<T>* ea_topk_func_2; + + T *ea_prev_hidden_state, *ea_prev_embed; + int ea_num_prev, ea_num_history_tokens; + int32_t *eagle_position_ids, *eagle_cache_length; + int *eagle_original_length, eagle_padded_length; + uint64_t *eagle_mask_2d, *ea_tmp_mask_2d; + T* eagle_logits; + T* ea_tried_history_val; int32_t* ea_tried_history_pos; + int32_t* ea_tried_history_parent; + bool ea_is_first_draft; + + + int32_t *ea_h_best, *ea_d_best; + + T* ea_tmp_kvcache; + + int32_t* ea_tree_draft_ids, *ea_tree_position_ids, *ea_tree_cache_length, *ea_tree_parent; + uint64_t* ea_tree_attn_mask; + + // draft & target + + W4A16GPTQMarlinModelImpl<T>* draft_model; + W4A16GPTQMarlinModelImpl<T>* model; + + // draft args + int32_t *draft_input; + int32_t *draft_position_ids, *draft_cache_length; + int * host_draft_cache_length; + int draft_padded_length; + T* draft_logits; + bool is_first_draft; + functions::TopK<T>* topk_func; + int32_t *draft_tmp; + int32_t *h_best, *d_best; + int num_prev, num_history_tokens; + + // draft mask always nullptr + uint64_t* draft_mask_2d; + + // graph + bool draft_cuda_graph; + int draft_graphCreated_padding_length; + int draft_graphCreated_input_length; + cudaGraph_t draft_graph; + cudaGraphExec_t draft_graphExec; + + // cascade vars + int cur_draft_length; + int min_draft_length; + T * draft_tmp_hidden_state; + bool draft_model_start; // start from draft model for num_prev == 1 + + int32_t* ea_accept_nums; + int ea_accept_nums_size; + int cur_ea_accept_nums_size; + + HierEagleW4A16GMSpecW4A16GMImpl( + W4A16GPTQMarlinModelImpl<T>* model, + int draft_vocab_size, + int draft_num_hidden_layers, + int draft_hidden_size, + int draft_intermediate_size, + int draft_num_attention_heads, + int draft_num_key_value_heads, + int draft_head_dim, + float draft_rms_norm_eps, + int draft_group_size, + // int num_iter, + int min_draft_length, + bool draft_cuda_graph, + // eagle args + int ea_num_layers, + int ea_num_iter, + int ea_topk_per_iter, + int ea_tree_size, + bool draft_model_start + ) { + this->model = model; + this->draft_model = new W4A16GPTQMarlinModelImpl<T>( + 0, + draft_vocab_size, + draft_num_hidden_layers, + draft_hidden_size, + draft_intermediate_size, + draft_num_attention_heads, + draft_num_key_value_heads, + draft_head_dim, + draft_rms_norm_eps, + draft_group_size, + this->model->chunk_length + ); + + // draft config + this->draft_mask_2d = 0; + topk_func = new functions::TopK<T>(model->vocab_size, 1); // greedy sample + + this->draft_cuda_graph = draft_cuda_graph; + this->draft_graphCreated_padding_length = -1; + this->draft_graphCreated_input_length = -1; + this->draft_graph = nullptr; + this->draft_graphExec = nullptr; + + this->min_draft_length = min_draft_length; + this->draft_model_start = draft_model_start; + + // eagle config + this->ea_num_layers = ea_num_layers; + this->ea_num_iter = ea_num_iter; + this->ea_topk_per_iter = ea_topk_per_iter; + this->ea_tree_size = ea_tree_size; + this->ea_total_tried = ea_topk_per_iter * ea_topk_per_iter * (ea_num_iter-1) + ea_topk_per_iter; + + // ea model + ea_kv_caches = new KVCacheManager<T>(ea_num_layers, this->draft_model->num_key_value_heads, this->draft_model->head_dim); + ea_fc1 = new Linear<T, true, true>(this->draft_model->hidden_size, this->draft_model->hidden_size); + ea_fc2 = new Linear<T>(this->draft_model->hidden_size, this->draft_model->hidden_size); + for (int i = 0; i < ea_num_layers; i++) { + ea_layers.push_back(new Layer<T>(this->draft_model->hidden_size, this->draft_model->intermediate_size, this->draft_model->num_attention_heads, this->draft_model->num_key_value_heads, this->draft_model->head_dim, this->draft_model->rms_norm_eps)); + } + + ea_topk_func = new functions::TopK<T>(this->draft_model->vocab_size, ea_topk_per_iter); + ea_topk_func_2 = new functions::TopK<T>(ea_total_tried, this->ea_tree_size-1); + + this->ea_accept_nums_size = 0; + this->cur_ea_accept_nums_size = 0; + + } + + void init_weight_ptr(Memory* memory) { + ea_fc1->init_weight_ptr(memory); + ea_fc2->init_weight_ptr(memory); + for (int i = 0; i < ea_num_layers; i++) { + ea_layers[i]->init_weight_ptr(memory); + } + ea_layers[0]->attn->attn_norm = new Skip<T>(this->draft_model->hidden_size); + ea_kv_caches->rotary_embedding = this->draft_model->kv_caches->rotary_embedding; + } + + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + // init eagle output + offset = ea_fc1->init_output_ptr(memory, num_tokens, offset); + offset = ea_fc2->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < ea_num_layers; i++) { + layer_end = ea_layers[i]->init_output_ptr(memory, num_tokens, offset); + } + offset = layer_end; + offset = memory->allocate((void**)&eagle_logits, offset, this->ea_topk_per_iter * this->draft_model->vocab_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_mask_2d, offset, this->ea_topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&ea_tmp_mask_2d, offset, this->ea_topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&ea_tried_history_val, offset, this->ea_total_tried * sizeof(T)); + offset = memory->allocate((void**)&ea_tried_history_pos, offset, this->ea_total_tried * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tried_history_parent, offset, this->ea_topk_per_iter * (this->ea_num_iter - 1) * sizeof(int32_t)); + cudaMallocHost(&eagle_original_length, sizeof(int32_t)); + + offset = ea_topk_func->init_output_ptr(memory, this->ea_topk_per_iter, offset); + offset = ea_topk_func_2->init_output_ptr(memory, 1, offset); + + offset = memory->allocate((void**)&ea_prev_hidden_state, offset, num_tokens * this->draft_model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&ea_prev_embed, offset, num_tokens * this->draft_model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&eagle_cache_length, offset, sizeof(int32_t)); + + offset = memory->allocate((void**)&ea_d_best, offset, 2 * sizeof(int32_t)); + cudaMallocHost(&ea_h_best, 2 * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tmp_kvcache, offset, 64 * this->draft_model->kv_caches->num_hidden_layers * 2 * this->draft_model->kv_caches->dim * sizeof(T)); + + // to allocate ealge draft some states + offset = memory->allocate((void**)&ea_tree_draft_ids, offset, this->ea_tree_size * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_position_ids, offset, this->ea_tree_size * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_cache_length, offset, sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_parent, offset, this->ea_tree_size * sizeof(int32_t)); + offset = memory->allocate((void**)&ea_tree_attn_mask, offset, this->ea_tree_size * sizeof(uint64_t)); + + + + // init draft output + int64_t lm_head_end = this->draft_model->init_output_ptr(memory, num_tokens, offset); + offset = lm_head_end; + + offset = memory->allocate((void**)&draft_input, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&draft_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&draft_cache_length, offset, sizeof(int32_t)); + cudaMallocHost(&host_draft_cache_length, sizeof(int32_t)); + + + offset = memory->allocate((void**)&draft_logits, offset, 64 * this->draft_model->vocab_size * sizeof(T)); + offset = topk_func->init_output_ptr(memory, 64, offset); + + offset = memory->allocate((void**)&draft_tmp, offset, (this->min_draft_length + ea_num_iter + 1)*sizeof(int32_t)); + offset = memory->allocate((void**)&d_best, offset, sizeof(int32_t)); + cudaMallocHost(&h_best, sizeof(int32_t)); + + // cascade vars + offset = memory->allocate((void**)&draft_tmp_hidden_state, offset, (this->min_draft_length + ea_num_iter + 1) * this->draft_model->hidden_size * sizeof(T)); + // cudaMallocHost(&host_ea_accept_nums, 1024 * sizeof(int)); + offset = memory->allocate((void**)&ea_accept_nums, offset, 1024 * sizeof(int32_t)); + return offset; + } + + int init_storage() { + + this->model->init_weight_ptr(this->model->memory); + // this->init_weight_ptr(this->model->memory); + this->draft_model->init_weight_ptr(this->model->memory); + this->init_weight_ptr(this->model->memory); + + int64_t offset = this->model->init_output_ptr(this->model->memory, this->model->chunk_length, this->model->memory->model_offset); + int64_t kv_cache_offset = init_output_ptr(this->model->memory, this->model->chunk_length, offset); + + int model_kv_size = (this->model->num_hidden_layers*this->model->num_key_value_heads*this->model->head_dim); + int draft_kv_size = (this->draft_model->num_hidden_layers*this->draft_model->num_key_value_heads*this->draft_model->head_dim); + int ea_kv_size = this->ea_num_layers * this->draft_model->num_key_value_heads * this->draft_model->head_dim; + float ratio = float(model_kv_size)/float(model_kv_size + draft_kv_size + ea_kv_size); + kv_cache_offset = this->model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + ratio = float(draft_kv_size)/float(draft_kv_size + ea_kv_size); + kv_cache_offset = this->draft_model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + this->ea_kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, 1.0); + return min(min(this->draft_model->kv_caches->budget, this->model->kv_caches->budget), this->ea_kv_caches->budget + 1); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 5) == "eagle") { + if (name.substr(0, 9) == "eagle.fc1") { + ea_fc1->load_to_storage(name, ptr); + } else if (name.substr(0, 9) == "eagle.fc2") { + ea_fc2->load_to_storage(name, ptr); + } else { + std::regex layer_regex("eagle\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + ea_layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } + } else if (name.substr(0, 5) == "draft"){ + std::string draft_name = name.substr(6); + this->draft_model->load_to_storage(draft_name, ptr); + } else { + this->model->load_to_storage(name, ptr); + } + } + + + + void eagle_prefill(int num_history_tokens) { + cudaMemcpy(this->ea_prev_embed + (ea_num_prev - 1) * this->draft_model->hidden_size, this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_fc1->prefill(calc_stream, ea_num_prev, this->ea_prev_embed); + this->ea_fc2->prefill(calc_stream, ea_num_prev, this->ea_prev_hidden_state); + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc1->output, this->ea_fc2->output, this->ea_fc2->output); + T* layer_output = nullptr; + + for (int i = 0; i < ea_num_layers; i++) { + this->ea_layers[i]->prefill(num_prev, num_history_tokens, this->ea_fc2->output, layer_output, this->eagle_position_ids, this->ea_kv_caches->caches[i]); + layer_output = this->ea_layers[i]->output; + } + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc2->output, layer_output, this->ea_fc2->output); + } + + void eagle_decode(int32_t* cache_length) { + + this->ea_fc1->prefill(calc_stream, ea_num_prev, this->ea_prev_embed); + this->ea_fc2->prefill(calc_stream, ea_num_prev, this->ea_prev_hidden_state); + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc1->output, this->ea_fc2->output, this->ea_fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < ea_num_layers; i++) { + this->ea_layers[i]->decode(ea_num_prev, this->eagle_padded_length, this->ea_fc2->output, layer_output, this->eagle_position_ids, cache_length, Mask(nullptr), this->ea_kv_caches->caches[i]); + layer_output = this->ea_layers[i]->output; + } + elementwise_add(calc_stream, ea_num_prev, this->draft_model->hidden_size, this->ea_fc2->output, layer_output, this->ea_fc2->output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->model->prefill(num_tokens, num_history_tokens, input, position_ids, output); + if (num_history_tokens > 0) { + this->draft_model->embedding->prefill(calc_stream, this->num_prev, this->draft_input); + cudaMemcpy(this->ea_prev_embed, this->draft_model->embedding->output+this->draft_model->hidden_size, (this->num_prev-1) * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->draft_model->prefill_embed(this->num_prev, this->num_history_tokens, this->draft_model->embedding->output, this->draft_position_ids, (void*)this->draft_logits); + + cudaMemcpy(this->ea_prev_hidden_state, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + this->draft_model->embedding->prefill(calc_stream, 1, input); + this->eagle_prefill(this->ea_num_history_tokens); + + // this->draft_model-> + } + + cudaMemcpy(this->draft_input, input, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_position_ids, position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev = num_tokens; + this->num_history_tokens = num_history_tokens; + this->is_first_draft = true; + + // eagle + cudaMemcpy(this->eagle_position_ids, this->draft_position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->ea_num_prev = num_tokens; + this->ea_num_history_tokens = num_history_tokens; + this->ea_is_first_draft = true; + + + this->ea_accept_nums_size = 0; + cudaMemcpy(this->ea_accept_nums, &this->ea_accept_nums_size, sizeof(int), cudaMemcpyHostToDevice); + } + + + void draft_decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + throw std::runtime_error("Draft decode is not supported"); + } + + void draft_decode_with_graph_control(int32_t d_num_tokens, int32_t d_padded_length, int32_t* d_input, int32_t* d_position_ids, int32_t* d_cache_length, uint64_t* d_mask_2d, void* d_output) { + if (this->draft_cuda_graph) { + if (this->draft_graphCreated_padding_length != d_padded_length || this->draft_graphCreated_input_length != d_num_tokens) { + if (this->draft_graphExec != nullptr) { + cudaGraphExecDestroy(this->draft_graphExec); + this->draft_graphExec = nullptr; + } + if (this->draft_graph != nullptr) { + cudaGraphDestroy(this->draft_graph); + this->draft_graph = nullptr; + } + cudaStreamBeginCapture(calc_stream.stream, cudaStreamCaptureModeGlobal); + this->draft_model->decode(d_num_tokens, d_padded_length, d_input, d_position_ids, d_cache_length, d_mask_2d, d_output); + cudaStreamEndCapture(calc_stream.stream, &(this->draft_graph)); + cudaGraphInstantiate(&(this->draft_graphExec), this->draft_graph, nullptr, nullptr, 0); + this->draft_graphCreated_padding_length = d_padded_length; + this->draft_graphCreated_input_length = d_num_tokens; + } + cudaGraphLaunch(this->draft_graphExec, calc_stream.stream); + } else { + this->draft_model->decode(d_num_tokens, d_padded_length, d_input, d_position_ids, d_cache_length, d_mask_2d, d_output); + } + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->model->decode(num_tokens, padded_length, input, position_ids, cache_length, nullptr, output); + } + + + void draft_with_eagle(int32_t* ea_tree_draft_ids, int32_t* ea_tree_position_ids, int32_t* ea_cache_length, uint64_t* ea_tree_attn_mask, int32_t* ea_tree_parent) { + cudaMemcpy(this->eagle_original_length, ea_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->eagle_padded_length = (this->eagle_original_length[0] + 256 - 1) / 128 * 128; + if (this->ea_is_first_draft) { + // prefill hidden states and embedding have been cpy + this->draft_model->embedding->prefill(calc_stream, 1, ea_tree_draft_ids); + this->eagle_prefill(this->ea_num_history_tokens); + } else { + this->eagle_decode(ea_cache_length); + } + + cudaMemcpy(this->eagle_cache_length, ea_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->eagle_position_ids, ea_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, ea_topk_per_iter, 1, 0, this->eagle_position_ids); + + { // d = 0 + this->draft_model->lm_head->prefill(calc_stream, 1, this->ea_fc2->output + (ea_num_prev - 1) * this->draft_model->hidden_size, this->eagle_logits); + log_softmax(calc_stream, 1, this->draft_model->vocab_size, this->eagle_logits); + this->ea_topk_func->prefill(calc_stream, 1, this->eagle_logits); + cudaMemcpy(this->ea_topk_func_2->topk_pos, this->ea_topk_func->topk_pos, ea_topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_topk_func_2->topk_val, this->ea_topk_func->topk_val, ea_topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tried_history_val, this->ea_topk_func->topk_val, ea_topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tried_history_pos, this->ea_topk_func->topk_pos, ea_topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, ea_num_prev-1, this->ea_fc2->output, this->ea_fc1->output); + init_tree(calc_stream, ea_topk_per_iter, this->eagle_mask_2d); + } + + for (int d = 1; d < this->ea_num_iter; ++d) { + add(calc_stream, 1, this->eagle_cache_length, ea_topk_per_iter); + this->draft_model->embedding->prefill(calc_stream, ea_topk_per_iter, this->ea_topk_func_2->topk_pos); + this->ea_fc2->prefill(calc_stream, ea_topk_per_iter, this->ea_fc1->output); + this->ea_fc1->prefill(calc_stream, ea_topk_per_iter, this->draft_model->embedding->output); + elementwise_add(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, this->ea_fc1->output, this->ea_fc2->output, this->ea_fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < ea_num_layers; i++) { + this->ea_layers[i]->decode(ea_topk_per_iter, this->eagle_padded_length, this->ea_fc2->output, layer_output, this->eagle_position_ids, this->eagle_cache_length, Mask(eagle_mask_2d, ea_topk_per_iter, ea_topk_per_iter * d), this->ea_kv_caches->caches[i]); + layer_output = this->ea_layers[i]->output; + } + elementwise_add(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, this->ea_fc2->output, layer_output, this->ea_fc2->output); + add(calc_stream, ea_topk_per_iter, this->eagle_position_ids, 1); + + this->draft_model->lm_head->prefill(calc_stream, ea_topk_per_iter, this->ea_fc2->output, this->eagle_logits); + log_softmax(calc_stream, ea_topk_per_iter, this->draft_model->vocab_size, this->eagle_logits); + this->ea_topk_func->prefill(calc_stream, ea_topk_per_iter, this->eagle_logits); + cumsum(calc_stream, ea_topk_per_iter, ea_topk_per_iter, this->ea_topk_func->topk_val, this->ea_topk_func_2->topk_val); + cudaMemcpy(this->ea_tried_history_val + ea_topk_per_iter + (d - 1) * ea_topk_per_iter * ea_topk_per_iter, this->ea_topk_func->topk_val, ea_topk_per_iter * ea_topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tried_history_pos + ea_topk_per_iter + (d - 1) * ea_topk_per_iter * ea_topk_per_iter, this->ea_topk_func->topk_pos, ea_topk_per_iter * ea_topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->ea_topk_func_2->prefill(calc_stream, 1, this->ea_topk_func->topk_val, ea_topk_per_iter * ea_topk_per_iter, ea_topk_per_iter); + + cudaMemcpy(this->ea_tmp_mask_2d, this->eagle_mask_2d, ea_topk_per_iter * sizeof(uint64_t), cudaMemcpyDeviceToDevice); + set_parent(calc_stream, ea_topk_per_iter, this->ea_tried_history_parent + (d - 1) * ea_topk_per_iter, this->ea_topk_func_2->topk_pos, 10 + (d - 1) * ea_topk_per_iter * ea_topk_per_iter); + update_tree(calc_stream, ea_topk_per_iter, ea_topk_per_iter * d, this->eagle_mask_2d, this->ea_tmp_mask_2d, this->ea_topk_func_2->topk_pos); + remap_hidden(calc_stream, ea_topk_per_iter, this->draft_model->hidden_size, this->ea_topk_func_2->topk_pos, this->ea_fc2->output, this->ea_fc1->output, ea_topk_per_iter); + remap_id(calc_stream, ea_topk_per_iter, this->ea_topk_func_2->topk_pos, this->ea_topk_func->topk_pos); + } + + this->ea_topk_func_2->prefill(calc_stream, 1, this->ea_tried_history_val); + + // build tree + build_dynamic_tree(calc_stream, this->ea_tree_size, this->eagle_original_length[0], this->ea_topk_per_iter, this->ea_tried_history_parent, this->ea_topk_func_2->topk_pos, ea_tree_position_ids, ea_tree_attn_mask, ea_tree_parent); + remap_id(calc_stream, this->ea_tree_size-1, this->ea_topk_func_2->topk_pos, this->ea_tried_history_pos, ea_tree_draft_ids + 1); + + this->ea_is_first_draft = false; + } + + void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t*, int32_t*) { + // reset cur draft length + this->cur_draft_length = 0; + this->cur_ea_accept_nums_size = 0; + if (this->is_first_draft) { + // append tree draft ids to draft input + cudaMemcpy(this->draft_input+this->num_prev, tree_draft_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_position_ids+this->num_prev, tree_position_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev += 1; + + this->draft_model->embedding->prefill(calc_stream, this->num_prev, this->draft_input); + cudaMemcpy(this->ea_prev_embed, this->draft_model->embedding->output+ this->draft_model->hidden_size, (this->num_prev-1) * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + this->draft_model->prefill_embed(this->num_prev, this->num_history_tokens, this->draft_model->embedding->output, this->draft_position_ids, (void*)this->draft_logits); + + // eagle prepare for draft_with_eagle function + // ea_is_first_draft is True + cudaMemcpy(this->eagle_position_ids + (this->ea_num_prev), tree_position_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->ea_num_prev = this->num_prev; + + cudaMemcpy(this->ea_prev_hidden_state, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->topk_func->prefill(calc_stream, 1, this->draft_logits); + + + // prepare for draft with eagle + cudaMemcpy(this->ea_tree_draft_ids, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->ea_tree_cache_length, 1); + + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, 1); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + + // draft model has forward one time + cudaMemcpy(this->draft_tmp, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp_hidden_state, this->draft_model->norm->output + (this->num_prev-1) * this->draft_model->hidden_size, this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + this->cur_draft_length += 1; + + } else if (this->num_prev == 2){ + this->draft_model->embedding->prefill(calc_stream, this->num_prev, this->draft_input); + cudaMemcpy(this->ea_prev_embed + (ea_num_prev)* this->draft_model->hidden_size, this->draft_model->embedding->output + this->draft_model->hidden_size, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + this->draft_model->decode_embed(this->num_prev, this->draft_padded_length, this->draft_model->embedding->output, this->draft_position_ids, this->draft_cache_length, nullptr, (void*)this->draft_logits); + + + this->topk_func->prefill(calc_stream, 1, this->draft_logits+(this->draft_model->vocab_size)); + + + // prepare for the eagle input + cudaMemcpy(this->ea_prev_hidden_state + (ea_num_prev)* this->draft_model->hidden_size, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + this->draft_model->embedding->prefill(calc_stream, 1, this->topk_func->topk_pos); + cudaMemcpy(this->ea_prev_embed + (ea_num_prev+1)* this->draft_model->hidden_size, this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_num_prev += this->num_prev; + + + // prepare for draft with eagle + cudaMemcpy(this->ea_tree_draft_ids, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + + // draft model has forward one time + cudaMemcpy(this->draft_tmp, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp_hidden_state, this->draft_model->norm->output + (this->num_prev-1) * this->draft_model->hidden_size, this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + this->cur_draft_length += 1; + } else if (this->draft_model_start) { + // num_prev == 1 + this->draft_model->decode(this->num_prev, this->draft_padded_length, this->draft_input, this->draft_position_ids, this->draft_cache_length, nullptr, (void*)this->draft_logits); + this->topk_func->prefill(calc_stream, 1, this->draft_logits); + + // prepare for the eagle input + cudaMemcpy(this->ea_prev_hidden_state + (ea_num_prev)*this->draft_model->hidden_size, this->draft_model->norm->output, this->num_prev * this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + + this->draft_model->embedding->prefill(calc_stream, 1, this->topk_func->topk_pos); + cudaMemcpy(this->ea_prev_embed + (ea_num_prev)* this->draft_model->hidden_size, this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_num_prev += this->num_prev; + + // prepare for draft with eagle + cudaMemcpy(this->ea_tree_draft_ids, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + + + // draft model has forward one time + cudaMemcpy(this->draft_tmp, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp_hidden_state, this->draft_model->norm->output + (this->num_prev-1) * this->draft_model->hidden_size, this->draft_model->hidden_size*sizeof(T), cudaMemcpyDeviceToDevice); + this->cur_draft_length += 1; + + } else { + cudaMemcpy(this->ea_tree_draft_ids, tree_draft_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->ea_tree_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + } + + + + while (this->cur_draft_length < min_draft_length){ + + // eagle draft + this->draft_with_eagle( + this->ea_tree_draft_ids, + this->ea_tree_position_ids, + this->ea_tree_cache_length, + this->ea_tree_attn_mask, + this->ea_tree_parent + ); + + + cudaMemcpy(this->draft_cache_length, this->ea_tree_cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->ea_tree_size); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128;; + + this->draft_decode_with_graph_control( + this->ea_tree_size, + this->draft_padded_length, + this->ea_tree_draft_ids, + this->ea_tree_position_ids, + this->draft_cache_length, + this->ea_tree_attn_mask, + (void*) this->draft_logits + ); + this->topk_func->prefill(calc_stream, this->ea_tree_size, this->draft_logits); + + + this->draft_verify( + this->ea_tree_size, + this->ea_tree_draft_ids, + this->topk_func->topk_pos, + this->ea_tree_position_ids, + this->ea_tree_cache_length, + this->ea_tree_attn_mask, + this->ea_tree_parent + ); + + cudaMemcpy(this->ea_accept_nums + (this->ea_accept_nums_size+this->cur_ea_accept_nums_size+1), this->ea_d_best, sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->cur_ea_accept_nums_size += 1; + + + // accept return to ea_h_best[0] + cudaMemcpy(this->ea_tree_draft_ids, this->ea_tree_draft_ids + (this->ea_h_best[0]-1), sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->ea_tree_cache_length, this->ea_h_best[0]); + + } + + + + cudaMemcpy(tree_draft_ids + 1, this->draft_tmp, this->cur_draft_length*sizeof(int32_t), cudaMemcpyDeviceToDevice); + make_arange(calc_stream, this->cur_draft_length+1, cache_length, tree_position_ids); + this->is_first_draft = false; + } + + int draft_verify(int32_t ea_num_tokens, int32_t* ea_pred, int32_t* ea_gt, int32_t* ea_position_ids, int32_t* ea_cache_length, uint64_t* ea_mask_2d, int32_t* ea_tree_parent) { + verify_draft(calc_stream, ea_num_tokens, ea_pred, ea_gt, ea_position_ids, ea_cache_length, ea_mask_2d, ea_tree_parent, this->ea_d_best); + + cudaMemcpyAsync(this->ea_h_best, this->ea_d_best, 2 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + this->ea_num_prev = ea_h_best[0]; + remap_hidden(calc_stream, this->ea_num_prev, this->draft_model->hidden_size, ea_pred, this->draft_model->norm->output, this->ea_prev_hidden_state); + + fix_kv_cache(calc_stream, ea_h_best[0], this->draft_model->kv_caches->num_hidden_layers * 2, this->draft_model->kv_caches->dim, ea_pred, ea_gt, ea_cache_length, this->draft_model->kv_caches->d_flat_caches, this->ea_tmp_kvcache); + + this->draft_model->embedding->prefill(calc_stream, this->ea_num_prev, ea_pred); + cudaMemcpy(this->ea_prev_embed, this->draft_model->embedding->output, this->ea_num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + make_arange(calc_stream, this->ea_num_prev, ea_cache_length, this->eagle_position_ids); + + cudaMemcpy(this->draft_tmp_hidden_state + (this->cur_draft_length*this->draft_model->hidden_size), this->ea_prev_hidden_state, this->ea_num_prev * this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + cudaMemcpy(this->draft_tmp + this->cur_draft_length, ea_pred, this->ea_num_prev * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->cur_draft_length += this->ea_num_prev; + + return ea_h_best[0]; + } + + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) { + verify_seq_draft(calc_stream, num_tokens, pred, gt, (uint16_t*)attn_mask, this->d_best); + cudaMemcpyAsync(this->h_best, this->d_best, 1 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + if (h_best[0]>(this->cur_draft_length+1)) { + h_best[0] = this->cur_draft_length+1; + } + + if (h_best[0]==(this->cur_draft_length+1)) { + // full accept + this->num_prev = 2; + cudaMemcpy(this->draft_input, gt + (this->cur_draft_length-1), 2*sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->h_best[0]+1); + make_arange(calc_stream, 2, cache_length, this->draft_position_ids); + add(calc_stream, 2, this->draft_position_ids, this->cur_draft_length); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128; + } else { + this->num_prev = 1; + cudaMemcpy(this->draft_input, gt + (this->h_best[0]-1), sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->h_best[0]+1); + cudaMemcpy(this->draft_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_position_ids, this->h_best[0]); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128; + + // adapt eagle draft ptr + // conidtion 1: eagle last start postion is larger than accept position + if (host_draft_cache_length[0] > this->eagle_original_length[0] + 1) { + this->ea_num_prev = host_draft_cache_length[0] - (this->eagle_original_length[0] + 1); + // keep ea_prev_hidden_state and update ea_prev_embed + this->draft_model->embedding->prefill(calc_stream, 1, this->draft_input); + cudaMemcpy(this->ea_prev_embed+(this->ea_num_prev-1), this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + } else { + // condition 2: eagle last start position is less than accept position + // index from the kepted draft model hidden state + cudaMemcpy(this->ea_prev_hidden_state, this->draft_tmp_hidden_state + (h_best[0]-1) *this->draft_model->hidden_size, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->ea_num_prev = 1; + this->draft_model->embedding->prefill(calc_stream, 1, this->draft_input); + cudaMemcpy(this->ea_prev_embed, this->draft_model->embedding->output, this->draft_model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->eagle_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->eagle_position_ids, this->h_best[0]-1); + } + + + } + + + this->ea_accept_nums_size += this->cur_ea_accept_nums_size; + add(calc_stream, 1, this->ea_accept_nums, this->cur_ea_accept_nums_size); + cudaMemcpy(tree_parent, this->ea_accept_nums, (this->ea_accept_nums_size+1) * sizeof(int32_t), cudaMemcpyDeviceToDevice); + + + + return h_best[0]; + + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/kvcache.cuh b/examples/CPM.cu/src/model/kvcache.cuh new file mode 100644 index 00000000..5ba14353 --- /dev/null +++ b/examples/CPM.cu/src/model/kvcache.cuh @@ -0,0 +1,65 @@ +#pragma once +#include "../trait.cuh" +#include "rotary.cuh" +#include <vector> +#include <cuda_runtime.h> + +template <typename T> +struct KVCache { + int dim; + T *k_cache, *v_cache; + RotaryEmbedding<T> *rotary_embedding; + + KVCache(int dim, RotaryEmbedding<T> *rotary_embedding) { + this->dim = dim; + this->rotary_embedding = rotary_embedding; + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + offset = memory->allocate((void**)&this->k_cache, offset, num_tokens * dim * sizeof(T)); + offset = memory->allocate((void**)&this->v_cache, offset, num_tokens * dim * sizeof(T)); + return offset; + } + + T* offset_k(int offset) { return k_cache + offset * dim; } + T* offset_v(int offset) { return v_cache + offset * dim; } +}; + +template <typename T> +struct KVCacheManager { + int num_hidden_layers; + int dim; + int budget; + std::vector<KVCache<T>*> caches; + T **h_flat_caches, **d_flat_caches; + RotaryEmbedding<T> *rotary_embedding; + + KVCacheManager(int num_hidden_layers, int num_key_value_heads, int head_dim) { + this->num_hidden_layers = num_hidden_layers; + this->dim = num_key_value_heads * head_dim; + this->rotary_embedding = new RotaryEmbedding<T>(head_dim); + } + + void init_weight_ptr(Memory* memory) { + this->rotary_embedding->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int64_t offset, float ratio=1.0) { + offset = memory->allocate((void**)&this->d_flat_caches, offset, num_hidden_layers * 2 * sizeof(T*)); + + budget = int64_t(memory->get_remaining_memory(offset) * ratio * 0.999) / (this->num_hidden_layers * 2 * this->dim * sizeof(T)) - 1; + for (int i = 0; i < this->num_hidden_layers; i++) { + caches.push_back(new KVCache<T>(this->dim, this->rotary_embedding)); + } + for (int i = 0; i < this->num_hidden_layers; i++) { + offset = caches[i]->init_output_ptr(memory, budget, offset); + } + this->h_flat_caches = new T*[num_hidden_layers * 2]; + for (int i = 0; i < num_hidden_layers; i++) { + this->h_flat_caches[i * 2] = caches[i]->k_cache; + this->h_flat_caches[i * 2 + 1] = caches[i]->v_cache; + } + cudaMemcpy(this->d_flat_caches, this->h_flat_caches, num_hidden_layers * 2 * sizeof(T*), cudaMemcpyHostToDevice); + return offset; + } +}; diff --git a/examples/CPM.cu/src/model/layer.cuh b/examples/CPM.cu/src/model/layer.cuh new file mode 100644 index 00000000..56b6f818 --- /dev/null +++ b/examples/CPM.cu/src/model/layer.cuh @@ -0,0 +1,90 @@ +#pragma once +#include "perf.cuh" +#include "norm.cuh" +#include "attn.cuh" +#include "ffn.cuh" +#include "kvcache.cuh" +#include "mask.cuh" +#include <cuda_runtime.h> + +template <typename T> +struct Layer { + Attention<T> *attn; + FFN<T> *ffn; + T* output; + int hidden_size; + float residual_scale; + + Layer(int hidden_size, int intermediate_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, float residual_scale = 1.0, int window_size = 0) { + this->attn = new Attention<T>(hidden_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, window_size); + this->ffn = new GatedFFN<T>(hidden_size, intermediate_size, rms_norm_eps); + this->hidden_size = hidden_size; + this->residual_scale = residual_scale; + } + + void init_weight_ptr(Memory* memory) { + this->attn->init_weight_ptr(memory); + this->ffn->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t attn_end = this->attn->init_output_ptr(memory, num_tokens, offset); + int64_t ffn_end = this->ffn->init_output_ptr(memory, num_tokens, offset); + this->output = this->ffn->output; + return std::max(attn_end, ffn_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("attn") != std::string::npos || name.find("input_layernorm") != std::string::npos) { + this->attn->load_to_storage(name, ptr); + } else if (name.find("mlp") != std::string::npos || name.find("post_attention_layernorm") != std::string::npos) { + this->ffn->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(PREFILL_ATTN, calc_stream.stream); + this->attn->prefill(calc_stream, num_tokens, num_history_tokens, input, prev_output, position_ids, kv_cache); + cuda_perf_stop_on_stream_f(PREFILL_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(PREFILL_FFN, calc_stream.stream); + this->ffn->prefill(calc_stream, num_tokens, input, this->attn->output); + cuda_perf_stop_on_stream_f(PREFILL_FFN, calc_stream.stream); + } + + void decode(int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(DECODE_ATTN, calc_stream.stream); + this->attn->decode(calc_stream, num_tokens, padded_length, input, prev_output, position_ids, cache_length, mask, kv_cache); + cuda_perf_stop_on_stream_f(DECODE_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(DECODE_FFN, calc_stream.stream); + this->ffn->decode(calc_stream, num_tokens, input, this->attn->output); + cuda_perf_stop_on_stream_f(DECODE_FFN, calc_stream.stream); + } +}; diff --git a/examples/CPM.cu/src/model/linear.cuh b/examples/CPM.cu/src/model/linear.cuh new file mode 100644 index 00000000..5f838314 --- /dev/null +++ b/examples/CPM.cu/src/model/linear.cuh @@ -0,0 +1,101 @@ +#pragma once +#include <cuda_runtime.h> +#include <cublas_v2.h> +#include "../trait.cuh" +#include "../utils.cuh" +#include "elementwise.cuh" + +template <typename T, bool transposed=true> +void linear(const Stream& stream, int num_tokens, int dim_in, int dim_out, const T* input, const T* weight, T* output, bool inplace=false) { + float alpha = 1.0f; + float beta = inplace ? 1.0f : 0.0f; + if constexpr (transposed) { + cublasCheck(cublasGemmEx(stream.cublas_handle, + CUBLAS_OP_T, CUBLAS_OP_N, + dim_out, num_tokens, dim_in, + &alpha, + weight, TypeTraits<T>::cublas_type(), dim_in, + input, TypeTraits<T>::cublas_type(), dim_in, + &beta, + output, TypeTraits<T>::cublas_type(), dim_out, + CUBLAS_COMPUTE_32F, + CUBLAS_GEMM_DEFAULT + )); + } else { + cublasCheck(cublasGemmEx(stream.cublas_handle, + CUBLAS_OP_N, CUBLAS_OP_N, + dim_out, num_tokens, dim_in, + &alpha, + weight, TypeTraits<T>::cublas_type(), dim_out, + input, TypeTraits<T>::cublas_type(), dim_in, + &beta, + output, TypeTraits<T>::cublas_type(), dim_out, + CUBLAS_COMPUTE_32F, + CUBLAS_GEMM_DEFAULT + )); + } +} + +template <typename T, bool transposed=true, bool has_bias=false> +struct Linear { + int dim_in; + int dim_out; + T* output; + T* weight; + T* bias; + + Linear(int dim_in, int dim_out) { + this->dim_in = dim_in; + this->dim_out = dim_out; + } + + void init_weight_ptr(Memory* memory) { + weight = (T*)memory->allocate_for_model(dim_in * dim_out * sizeof(T)); + if constexpr (has_bias) { + bias = (T*)memory->allocate_for_model(dim_out * sizeof(T)); + } + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + return memory->allocate((void**)&this->output, offset, num_tokens * dim_out * sizeof(T)); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("weight") != std::string::npos) { + cudaMemcpy((void*)weight, ptr, dim_in * dim_out * sizeof(T), cudaMemcpyHostToDevice); + } else if (name.find("bias") != std::string::npos) { + cudaMemcpy((void*)bias, ptr, dim_out * sizeof(T), cudaMemcpyHostToDevice); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, T* input, T* tgt=nullptr, bool inplace=false) { + if (tgt == nullptr) tgt = this->output; + linear<T, transposed>(stream, num_tokens, dim_in, dim_out, input, weight, tgt, inplace); + if constexpr (has_bias) { + batched_add<T>(stream, num_tokens, dim_out, tgt, bias, tgt); + } + } +}; + +template <typename T> +struct LMHead : Linear<T> { + T* tmp_hidden_size; + float head_scale; + + LMHead(int dim_in, int dim_out, float head_scale = 1.0) : Linear<T>(dim_in, dim_out) { + this->head_scale = head_scale; + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + offset = Linear<T>::init_output_ptr(memory, num_tokens, offset); + offset = memory->allocate((void**)&this->tmp_hidden_size, offset, num_tokens * this->dim_in * sizeof(T)); + return offset; + } + + void prefill(const Stream& stream, int32_t num_tokens, T* input, T* tgt=nullptr, bool inplace=false) { + elementwise_scale(stream, num_tokens, this->dim_in, input, head_scale, tmp_hidden_size); + Linear<T>::prefill(stream, num_tokens, tmp_hidden_size, tgt, inplace); + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/mask.cuh b/examples/CPM.cu/src/model/mask.cuh new file mode 100644 index 00000000..73d3c59c --- /dev/null +++ b/examples/CPM.cu/src/model/mask.cuh @@ -0,0 +1,18 @@ +#pragma once + +#include <cuda_runtime.h> + +struct Mask { + uint64_t* ptr; + int mask_q_range; + int mask_k_range; + + Mask(uint64_t* ptr = nullptr, int mask_q_range = 0, int mask_k_range = 0) : ptr(ptr) { + if (ptr == nullptr) { + mask_q_range = 0; + mask_k_range = 0; + } + this->mask_q_range = mask_q_range; + this->mask_k_range = mask_k_range; + } +}; diff --git a/examples/CPM.cu/src/model/memory.cuh b/examples/CPM.cu/src/model/memory.cuh new file mode 100644 index 00000000..b2f1b857 --- /dev/null +++ b/examples/CPM.cu/src/model/memory.cuh @@ -0,0 +1,183 @@ +#pragma once +#include "../utils.cuh" +#include <cuda_runtime.h> +#include "../signal_handler.cuh" +#ifdef DISABLE_MEMPOOL +#include <vector> +#endif + +#define ALIGN_SIZE 256 + +// TODO: refactor this for better encapsulation +struct Memory { + int64_t memory_limit; + int64_t model_offset; +#ifndef DISABLE_MEMPOOL + uint8_t* memory_pool; +#else + int64_t allocated_size; + std::vector<void*> allocated_ptrs; +#endif + + Memory(float memory_limit) { + // Get GPU total memory size + size_t free_memory, total_memory; + cudaError_t err = cudaMemGetInfo(&free_memory, &total_memory); + if (err != cudaSuccess) { + fprintf(stderr, "Error: cudaMemGetInfo failed: %s\n\n", cudaGetErrorString(err)); + this->memory_limit = 0; + this->model_offset = 0; +#ifndef DISABLE_MEMPOOL + this->memory_pool = nullptr; +#else + this->allocated_size = 0; +#endif + return; + } + + // Calculate actual memory size + this->memory_limit = (int64_t)(total_memory * memory_limit); + +#ifndef DISABLE_MEMPOOL + printf("Use Pre-allocated Memory Pool\n"); +#else + printf("Use Dynamic Memory Allocation, this is for debug\n"); +#endif + printf("GPU Total Memory: %ld bytes (%.2f GB), ", total_memory, (double)total_memory / (1024*1024*1024)); + printf("Set Allocatable Memory Limit: %ld bytes (%.2f GB), ratio: %.1f%%\n", + this->memory_limit, (double)this->memory_limit / (1024*1024*1024), memory_limit * 100); + + this->model_offset = 0; +#ifndef DISABLE_MEMPOOL + err = cudaMalloc(reinterpret_cast<void**>(&this->memory_pool), this->memory_limit); + if (err != cudaSuccess) { + print_stack_trace(5); + fprintf(stderr, "Error: cudaMalloc failed in Memory constructor: %s, size: %ld\n\n", cudaGetErrorString(err), this->memory_limit); + this->memory_pool = nullptr; + } +#else + // In DISABLE_MEMPOOL mode, don't pre-allocate memory + this->allocated_size = 0; +#endif + } + + // Add destructor to prevent memory leak + ~Memory() { +#ifndef DISABLE_MEMPOOL + if (memory_pool != nullptr) { + cudaError_t err = cudaFree(memory_pool); + if (err != cudaSuccess) { + fprintf(stderr, "Warning: cudaFree failed in Memory destructor: %s\n\n", cudaGetErrorString(err)); + } + } +#else + // In DISABLE_MEMPOOL mode, free all individually allocated memory + for (void* ptr : allocated_ptrs) { + if (ptr != nullptr) { + cudaError_t err = cudaFree(ptr); + if (err != cudaSuccess) { + fprintf(stderr, "Warning: cudaFree failed in Memory destructor: %s\n\n", cudaGetErrorString(err)); + } + } + } + allocated_ptrs.clear(); +#endif + } + + // Get remaining available memory from a specific offset + int64_t get_remaining_memory(int64_t offset) const { +#ifndef DISABLE_MEMPOOL + return this->memory_limit - offset; +#else + return this->memory_limit - this->allocated_size; +#endif + } + +#ifndef DISABLE_MEMPOOL + void* allocate_for_model(size_t size) { + uint8_t* ret = memory_pool + model_offset; + model_offset += size; + model_offset = ROUND_UP(model_offset, ALIGN_SIZE); + if (model_offset > this->memory_limit) { + print_stack_trace(5); + fprintf(stderr, "Error: memory limit exceeded, offset: %ld, size: %ld, memory_limit: %ld\n\n", model_offset, size, this->memory_limit); + return nullptr; + } + return (void*)ret; + } + int64_t allocate(void** ptr, int64_t offset, size_t size = 0) { + if (size == 0) { + print_stack_trace(5); + fprintf(stderr, "Error: size is 0\n\n"); + return -1; + } + *ptr = memory_pool + offset; + offset += size; + offset = ROUND_UP(offset, ALIGN_SIZE); + if (offset > this->memory_limit) { + print_stack_trace(5); + fprintf(stderr, "Error: memory limit exceeded, offset: %ld, size: %ld, memory_limit: %ld\n\n", offset, size, this->memory_limit); + *ptr = nullptr; + return -1; + } + return offset; + } +#else + void* allocate_for_model(size_t size) { + void* ptr; + size_t aligned_size = ROUND_UP(size, ALIGN_SIZE); + + // Check if allocation would exceed memory limit + if (allocated_size + aligned_size > this->memory_limit) { + print_stack_trace(5); + fprintf(stderr, "Error: memory limit exceeded, allocated_size: %ld, new_size: %ld, memory_limit: %ld\n\n", + allocated_size, aligned_size, this->memory_limit); + return nullptr; + } + + cudaError_t err = cudaMalloc(&ptr, aligned_size); + if (err != cudaSuccess) { + print_stack_trace(5); + fprintf(stderr, "Error: cudaMalloc failed: %s, size: %ld\n\n", cudaGetErrorString(err), size); + return nullptr; + } + + allocated_ptrs.push_back(ptr); + allocated_size += aligned_size; + return ptr; + } + int64_t allocate(void** ptr, int64_t offset, size_t size = 0) { // 0 for reuse previous allocated memory, just need start offset, return value is useless + if (size == 0) { + print_stack_trace(5); + fprintf(stderr, "Error: size is 0\n\n"); + return -1; + } + + size_t aligned_size = ROUND_UP(size, ALIGN_SIZE); + + // Check if allocation would exceed memory limit + if (allocated_size + aligned_size > this->memory_limit) { + print_stack_trace(5); + fprintf(stderr, "Error: memory limit exceeded, allocated_size: %ld, new_size: %ld, memory_limit: %ld\n\n", + allocated_size, aligned_size, this->memory_limit); + *ptr = nullptr; + return -1; + } + + cudaError_t err = cudaMalloc(ptr, aligned_size); + if (err != cudaSuccess) { + print_stack_trace(5); + fprintf(stderr, "Error: cudaMalloc failed: %s, size: %ld\n\n", cudaGetErrorString(err), size); + *ptr = nullptr; + return -1; + } + + allocated_ptrs.push_back(*ptr); + allocated_size += aligned_size; + + // Update max_output_offset for tracking purposes + offset += aligned_size; + return offset; + } +#endif +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_attn.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_attn.cuh new file mode 100644 index 00000000..a6227c6a --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_attn.cuh @@ -0,0 +1,324 @@ +#pragma once +#include "../attn.cuh" +#include "minicpm4_kvcache.cuh" + +template <typename T> +struct MiniCPM4Attention { + int hidden_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + Norm<T> *attn_norm; + Linear<T> *q_proj, *k_proj, *v_proj; + Linear<T> *o_proj; + T* output; + + T* attn_output; + float *softmax_lse, *softmax_lse_accum, *oaccum; + + int sink_window_size; + int block_window_size; + int sparse_switch; + bool apply_compress_lse; + + MiniCPM4Attention(int hidden_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, int sink_window_size, int block_window_size, int sparse_switch, bool apply_compress_lse) { + this->hidden_size = hidden_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->attn_norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + this->q_proj = new Linear<T>(hidden_size, num_attention_heads * head_dim); + this->k_proj = new Linear<T>(hidden_size, num_key_value_heads * head_dim); + this->v_proj = new Linear<T>(hidden_size, num_key_value_heads * head_dim); + this->o_proj = new Linear<T>(hidden_size, num_attention_heads * head_dim); + + this->sink_window_size = sink_window_size; + this->block_window_size = block_window_size; + this->sparse_switch = sparse_switch; + this->apply_compress_lse = apply_compress_lse; + } + + void init_weight_ptr(Memory* memory) { + this->attn_norm->init_weight_ptr(memory); + this->q_proj->init_weight_ptr(memory); + this->k_proj->init_weight_ptr(memory); + this->v_proj->init_weight_ptr(memory); + this->o_proj->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t attn_norm_end = this->attn_norm->init_output_ptr(memory, num_tokens, offset); + int64_t q_proj_end = this->q_proj->init_output_ptr(memory, num_tokens, attn_norm_end); + int64_t k_proj_end = this->k_proj->init_output_ptr(memory, num_tokens, q_proj_end); + int64_t v_proj_end = this->v_proj->init_output_ptr(memory, num_tokens, k_proj_end); + + int64_t attn_output_end = memory->allocate((void**)&this->attn_output, offset, num_tokens * this->num_attention_heads * this->head_dim * sizeof(T)); + int64_t softmax_lse_end = memory->allocate((void**)&this->softmax_lse, v_proj_end, num_tokens * this->num_attention_heads * sizeof(float)); // TODO minicpm4 support larger num_splits + const int max_num_splits = 128; // Maximum number of splits for attention computation + const int max_spec_tree_size = 64; // Maximum size of speculative decoding tree + int64_t softmax_lse_accum_end = memory->allocate((void**)&this->softmax_lse_accum, softmax_lse_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * sizeof(float)); + int64_t oaccum_end = memory->allocate((void**)&this->oaccum, softmax_lse_accum_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * this->head_dim * sizeof(float)); + + int64_t o_proj_end = this->o_proj->init_output_ptr(memory, num_tokens, v_proj_end); + this->output = this->o_proj->output; + + return std::max(oaccum_end, o_proj_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("q_proj") != std::string::npos) { + this->q_proj->load_to_storage(name, ptr); + } else if (name.find("k_proj") != std::string::npos) { + this->k_proj->load_to_storage(name, ptr); + } else if (name.find("v_proj") != std::string::npos) { + this->v_proj->load_to_storage(name, ptr); + } else if (name.find("o_proj") != std::string::npos) { + this->o_proj->load_to_storage(name, ptr); + } else if (name.find("input_layernorm") != std::string::npos) { + this->attn_norm->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, MiniCPM4KVCache<T>* kv_cache) { + T* k_cache = kv_cache->offset_k(num_history_tokens); + T* v_cache = kv_cache->offset_v(num_history_tokens); + + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + this->q_proj->prefill(stream, num_tokens, this->attn_norm->output); + this->k_proj->prefill(stream, num_tokens, this->attn_norm->output, k_cache); + this->v_proj->prefill(stream, num_tokens, this->attn_norm->output, v_cache); + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, this->q_proj->output, k_cache, position_ids); + + cuda_perf_start_on_stream_f(M4_PREFILL_ATTN_CORE, stream.stream); + cuda_perf_start_on_stream_f(M4_PREFILL_ATTN_STAGE1, stream.stream); + if (num_history_tokens == 0) { + kv_cache->init(); + } else { + kv_cache->compress(stream); + } + + uint64_t *blockmask = nullptr; + if ((!apply_compress_lse && kv_cache->c1_len * kv_cache->c1_stride >= this->sparse_switch) || (apply_compress_lse && kv_cache->c2_len * kv_cache->c2_stride >= this->sparse_switch)) { + int q_round, k_round, out_len; + cuda_perf_start_on_stream_f(M4_PREFILL_ATTN_STAGE1_CORE, stream.stream); + mha_fwd_stage1( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + kv_cache->c1_len, + apply_compress_lse ? kv_cache->c2_len : kv_cache->c1_len, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + this->q_proj->output, + kv_cache->c1_cache, + apply_compress_lse ? kv_cache->c2_cache : kv_cache->c1_cache, + nullptr, + kv_cache->stage1_score, + rsqrtf(float(this->head_dim)), + false, + -1, + -1, + 0, + stream.stream, + q_round, + k_round + ); + cuda_perf_stop_on_stream_f(M4_PREFILL_ATTN_STAGE1_CORE, stream.stream); + maxpooling_func( + stream.stream, + kv_cache->stage1_score, + kv_cache->pool_score, + this->num_key_value_heads, + num_tokens, + q_round, + k_round, + kv_cache->next_kv_length, + this->sink_window_size, + this->block_window_size, + out_len + ); + kv_cache->topk_func->prefill( + stream, + this->num_key_value_heads*num_tokens, + kv_cache->pool_score, + out_len + ); + topk_to_uint64_func( + stream.stream, + kv_cache->topk_func->topk_pos, + kv_cache->blockmask, + this->num_key_value_heads*num_tokens, + kv_cache->topk_func->top, + num_history_tokens+num_tokens + ); + blockmask = kv_cache->blockmask; + } + cuda_perf_stop_on_stream_f(M4_PREFILL_ATTN_STAGE1, stream.stream); + + cuda_perf_start_on_stream_f(M4_PREFILL_ATTN_STAGE2, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + num_history_tokens+num_tokens, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + this->q_proj->output, + kv_cache->k_cache, + kv_cache->v_cache, + nullptr, + Mask(nullptr), + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + blockmask, + blockmask ? this->block_window_size : 0 // TODO fix this condition + ); + cuda_perf_stop_on_stream_f(M4_PREFILL_ATTN_STAGE2, stream.stream); + cuda_perf_stop_on_stream_f(M4_PREFILL_ATTN_CORE, stream.stream); + + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output); + + kv_cache->next_kv_length = kv_cache->next_kv_length + num_tokens; + } + + void decode(const Stream& stream, int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, MiniCPM4KVCache<T>* kv_cache) { + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + T *q = nullptr; +#ifdef DISABLE_MEMPOOL + this->q_proj->prefill(stream, num_tokens, this->attn_norm->output); + this->k_proj->prefill(stream, num_tokens, this->attn_norm->output); + this->v_proj->prefill(stream, num_tokens, this->attn_norm->output); + q = this->q_proj->output; + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, this->q_proj->output, this->k_proj->output, position_ids); + copy_to_kvcache(stream, num_tokens, this->k_proj->output, this->v_proj->output, kv_cache, cache_length); +#else + int merge_dim_out = (this->num_attention_heads + 2 * this->num_key_value_heads) * this->head_dim; + if (num_tokens > 1) { + linear<T>(stream, num_tokens, this->hidden_size, merge_dim_out, this->attn_norm->output, this->q_proj->weight, this->v_proj->output); + permute(stream, num_tokens, this->num_attention_heads * this->head_dim, this->num_key_value_heads * this->head_dim, this->v_proj->output, this->q_proj->output); + } else { + linear<T>(stream, num_tokens, this->hidden_size, merge_dim_out, this->attn_norm->output, this->q_proj->weight, this->q_proj->output); + } + q = this->q_proj->output; + T* k = q + num_tokens * this->num_attention_heads * this->head_dim; + T* v = k + num_tokens * this->num_key_value_heads * this->head_dim; + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, q, k, position_ids); + copy_to_kvcache(stream, num_tokens, k, v, kv_cache, cache_length); +#endif + + cuda_perf_start_on_stream_f(M4_DECODE_ATTN_CORE, stream.stream); + cuda_perf_start_on_stream_f(M4_DECODE_ATTN_STAGE1, stream.stream); + kv_cache->compress(stream); + + uint64_t *blockmask = nullptr; + if ((!apply_compress_lse && kv_cache->c1_len * kv_cache->c1_stride >= this->sparse_switch) || (apply_compress_lse && kv_cache->c2_len * kv_cache->c2_stride >= this->sparse_switch)) { + int q_round, k_round, out_len; + cuda_perf_start_on_stream_f(M4_DECODE_ATTN_STAGE1_CORE, stream.stream); + mha_fwd_stage1( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + kv_cache->c1_len, + apply_compress_lse ? kv_cache->c2_len : kv_cache->c1_len, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + this->q_proj->output, + kv_cache->c1_cache, + apply_compress_lse ? kv_cache->c2_cache : kv_cache->c1_cache, + nullptr, + kv_cache->stage1_score, + rsqrtf(float(this->head_dim)), + false, + -1, + -1, + 0, + stream.stream, + q_round, + k_round + ); + cuda_perf_stop_on_stream_f(M4_DECODE_ATTN_STAGE1_CORE, stream.stream); + maxpooling_func( + stream.stream, + kv_cache->stage1_score, + kv_cache->pool_score, + this->num_key_value_heads, + num_tokens, + q_round, + k_round, + kv_cache->next_kv_length, + this->sink_window_size, + this->block_window_size, + out_len + ); + kv_cache->topk_func->prefill( + stream, + this->num_key_value_heads*num_tokens, + kv_cache->pool_score, + out_len + ); + topk_to_uint64_func( + stream.stream, + kv_cache->topk_func->topk_pos, + kv_cache->blockmask, + this->num_key_value_heads*num_tokens, + kv_cache->topk_func->top, + padded_length + ); + blockmask = kv_cache->blockmask; + } + cuda_perf_stop_on_stream_f(M4_DECODE_ATTN_STAGE1, stream.stream); + + cuda_perf_start_on_stream_f(M4_DECODE_ATTN_STAGE2, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + padded_length, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + q, + kv_cache->k_cache, + kv_cache->v_cache, + cache_length, + mask, + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + blockmask, + blockmask ? this->block_window_size : 0 // TODO fix this condition + ); + cuda_perf_stop_on_stream_f(M4_DECODE_ATTN_STAGE2, stream.stream); + cuda_perf_stop_on_stream_f(M4_DECODE_ATTN_CORE, stream.stream); + + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output); + + kv_cache->next_kv_length = kv_cache->next_kv_length + 1; + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_eagle.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_eagle.cuh new file mode 100644 index 00000000..1b3bf5a6 --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_eagle.cuh @@ -0,0 +1,419 @@ +#pragma once +#include <type_traits> +#include "../tree_drafter.cuh" +#include "../eagle.cuh" +#include "minicpm4_model.cuh" +#include "minicpm4_w4a16_gptq_marlin_model.cuh" +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_layer.cuh" +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_linear.cuh" + +template<typename T, class ModelType, class LayerType, class Fc1Type, class Fc2Type> +struct MiniCPM4EagleImpl : Model { + int num_layers; + int num_iter; + int topk_per_iter; + int tree_size; + int total_tried; + float residual_scale; + bool use_input_norm; + bool use_attn_norm; + + ModelType* model = nullptr; + KVCacheManager<T>* kv_caches = nullptr; + std::vector<LayerType*> layers; + Fc1Type *fc1 = nullptr; + Fc2Type *fc2 = nullptr; + Linear<T>* lm_head = nullptr; + int32_t* token_id_remap = nullptr; + RMSNorm<T> *input_norm1 = nullptr; + RMSNorm<T> *input_norm2 = nullptr; + functions::TopK<T>* topk_func = nullptr; + functions::TopK<T>* topk_func_2 = nullptr; + + T *prev_hidden_state, *prev_embed; + int num_prev, num_history_tokens; + int32_t *eagle_position_ids, *eagle_cache_length; + int *eagle_original_length, eagle_padded_length; + uint64_t *eagle_mask_2d, *tmp_mask_2d; + T* eagle_logits; + T* tried_history_val; int32_t* tried_history_pos; + int32_t* tried_history_parent = nullptr; + bool is_first_draft; + int frspec_vocab_size; + + int32_t *h_best, *d_best; + + T* tmp_kvcache; + + T* a_tmp = nullptr; + float* c_tmp = nullptr; + + MiniCPM4EagleImpl( + ModelType* model, + int num_layers, + int num_iter, + int topk_per_iter, + int tree_size, + int group_size = 128, + int eagle_window_size = 0, + int frspec_vocab_size = 0, + float residual_scale = 1.0f, + bool use_input_norm = true, + bool use_attn_norm = true + ) { + this->model = model; + this->num_layers = num_layers; + this->num_iter = num_iter; + this->topk_per_iter = topk_per_iter; + this->tree_size = tree_size; + assert(this->tree_size <= 64); + this->total_tried = topk_per_iter * topk_per_iter * (num_iter - 1) + topk_per_iter; + this->frspec_vocab_size = frspec_vocab_size > 0 ? frspec_vocab_size : this->model->vocab_size; + this->residual_scale = residual_scale; + this->use_input_norm = use_input_norm; + this->use_attn_norm = use_attn_norm; + + kv_caches = new KVCacheManager<T>(num_layers, this->model->num_key_value_heads, this->model->head_dim); + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + fc1 = new W4A16GPTQMarlinLinear<T, true, true>(this->model->hidden_size, this->model->hidden_size, group_size); + fc2 = new W4A16GPTQMarlinLinear<T>(this->model->hidden_size, this->model->hidden_size, group_size); + } else { + fc1 = new Linear<T, true, true>(this->model->hidden_size, this->model->hidden_size); + fc2 = new Linear<T>(this->model->hidden_size, this->model->hidden_size); + } + if (use_input_norm) { + input_norm1 = new RMSNorm<T>(this->model->hidden_size, this->model->rms_norm_eps); + input_norm2 = new RMSNorm<T>(this->model->hidden_size, this->model->rms_norm_eps); + } + for (int i = 0; i < num_layers; i++) { + if constexpr (std::is_same_v<LayerType, W4A16GPTQMarlinLayer<T>>) { + layers.push_back(new W4A16GPTQMarlinLayer<T>(this->model->hidden_size, this->model->intermediate_size, this->model->num_attention_heads, this->model->num_key_value_heads, this->model->head_dim, this->model->rms_norm_eps, group_size, this->residual_scale, eagle_window_size)); + } else { + layers.push_back(new Layer<T>(this->model->hidden_size, this->model->intermediate_size, this->model->num_attention_heads, this->model->num_key_value_heads, this->model->head_dim, this->model->rms_norm_eps, this->residual_scale, eagle_window_size)); + } + } + if (this->frspec_vocab_size != this->model->vocab_size) { + lm_head = new Linear<T>(this->model->hidden_size, this->frspec_vocab_size); + } else { + lm_head = this->model->lm_head; + } + + assert(this->topk_per_iter <= this->tree_size-1); + + topk_func = new functions::TopK<T>(this->frspec_vocab_size, this->topk_per_iter); + topk_func_2 = new functions::TopK<T>(this->total_tried, this->tree_size-1); + } + + void init_weight_ptr(Memory* memory) { + fc1->init_weight_ptr(memory); + fc2->init_weight_ptr(memory); + if (use_input_norm) { + input_norm1->init_weight_ptr(memory); + input_norm2->init_weight_ptr(memory); + } + for (int i = 0; i < num_layers; i++) { + layers[i]->init_weight_ptr(memory); + } + if (this->frspec_vocab_size != this->model->vocab_size) { + lm_head->init_weight_ptr(memory); + } + if (!use_attn_norm) { + layers[0]->attn->attn_norm = new Skip<T>(this->model->hidden_size); + } + kv_caches->rotary_embedding = this->model->kv_caches->rotary_embedding; + token_id_remap = (int32_t*)memory->allocate_for_model(this->frspec_vocab_size * sizeof(int32_t)); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + offset = memory->allocate((void**)&this->a_tmp, offset, 2 * num_tokens * this->model->hidden_size * sizeof(T)); + int reduce_max_m = marlin::determine_reduce_max_m(num_tokens, marlin::max_par); + int reduce_n = 2 * this->model->hidden_size; + offset = memory->allocate((void**)&this->c_tmp, offset, reduce_max_m * reduce_n * sizeof(float)); + } + offset = fc1->init_output_ptr(memory, num_tokens, offset); + offset = fc2->init_output_ptr(memory, num_tokens, offset); + if (use_input_norm) { + offset = input_norm1->init_output_ptr(memory, num_tokens, offset); + offset = input_norm2->init_output_ptr(memory, num_tokens, offset); + } + int64_t layer_end = 0; + for (int i = 0; i < num_layers; i++) { + layer_end = layers[i]->init_output_ptr(memory, num_tokens, offset); + } + offset = layer_end; + if (this->frspec_vocab_size != this->model->vocab_size) { + offset = lm_head->init_output_ptr(memory, 64, offset); + } + offset = memory->allocate((void**)&eagle_logits, offset, this->topk_per_iter * this->frspec_vocab_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_mask_2d, offset, this->topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&tmp_mask_2d, offset, this->topk_per_iter * sizeof(uint64_t)); + offset = memory->allocate((void**)&tried_history_val, offset, this->total_tried * sizeof(T)); + offset = memory->allocate((void**)&tried_history_pos, offset, this->total_tried * sizeof(int32_t)); + if (this->num_iter > 1) { + offset = memory->allocate((void**)&tried_history_parent, offset, this->topk_per_iter * (this->num_iter - 1) * sizeof(int32_t)); + } + cudaMallocHost(&eagle_original_length, sizeof(int32_t)); + + offset = topk_func->init_output_ptr(memory, this->topk_per_iter, offset); + offset = topk_func_2->init_output_ptr(memory, 1*16, offset); + + offset = memory->allocate((void**)&prev_hidden_state, offset, num_tokens * this->model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&prev_embed, offset, num_tokens * this->model->hidden_size * sizeof(T)); + offset = memory->allocate((void**)&eagle_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&eagle_cache_length, offset, sizeof(int32_t)); + + offset = memory->allocate((void**)&d_best, offset, 2 * sizeof(int32_t)); + cudaMallocHost(&h_best, 2 * sizeof(int32_t)); + offset = memory->allocate((void**)&tmp_kvcache, offset, 64 * this->model->kv_caches->num_hidden_layers * 2 * this->model->kv_caches->dim * sizeof(T)); + return offset; + } + + int init_storage() { + this->model->init_weight_ptr(this->model->memory); + this->init_weight_ptr(this->model->memory); + int64_t offset = this->model->init_output_ptr(this->model->memory, this->model->chunk_length, this->model->memory->model_offset); + int64_t kv_cache_offset = this->init_output_ptr(this->model->memory, this->model->chunk_length, offset); + float ratio = float(this->model->num_hidden_layers) / (this->model->num_hidden_layers + this->num_layers); + if constexpr (std::is_same_v<ModelType, MiniCPM4Impl<T>> || std::is_same_v<ModelType, MiniCPM4W4A16GPTQMarlinModelImpl<T>>) { + kv_cache_offset = this->model->kv_caches->init_output_ptr(this->model->memory, this->model->chunk_length, kv_cache_offset, ratio); + } else { + kv_cache_offset = this->model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + } + kv_caches->init_output_ptr(this->model->memory, kv_cache_offset); + return min(kv_caches->budget, this->model->kv_caches->budget); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 5) == "eagle") { + if (name.substr(0, 9) == "eagle.fc1") { + fc1->load_to_storage(name, ptr); + } else if (name.substr(0, 9) == "eagle.fc2") { + fc2->load_to_storage(name, ptr); + } else if (name.substr(0, 20) == "eagle.token_id_remap") { + cudaMemcpy((void*)token_id_remap, ptr, this->frspec_vocab_size * sizeof(int32_t), cudaMemcpyHostToDevice); + } else if (name.find("eagle.input_norm1") != std::string::npos) { + if (!use_input_norm) throw std::invalid_argument("norm is not used, but input_norm1 is found"); + input_norm1->load_to_storage(name, ptr); + } else if (name.find("eagle.input_norm2") != std::string::npos) { + if (!use_input_norm) throw std::invalid_argument("norm is not used, but input_norm2 is found"); + input_norm2->load_to_storage(name, ptr); + } else if (name.find("eagle.rotary_emb") != std::string::npos) { + kv_caches->rotary_embedding->load_to_storage(name, ptr); + } else { + std::regex layer_regex("eagle\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } + } else { + this->model->load_to_storage(name, ptr); + if (name.substr(0, 7) == "lm_head") { + if (this->frspec_vocab_size != this->model->vocab_size) { + remap_copy(calc_stream, this->model->lm_head->weight, this->lm_head->weight, this->model->hidden_size, this->frspec_vocab_size, this->token_id_remap); + } + } + } + } + + void eagle_prefill(int num_history_tokens) { + cudaMemcpy(this->prev_embed + (num_prev - 1) * this->model->hidden_size, this->model->embedding->output, this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + if (use_input_norm) { + this->input_norm1->prefill(calc_stream, num_prev, this->prev_embed, nullptr); + this->input_norm2->prefill(calc_stream, num_prev, this->prev_hidden_state, nullptr); + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + this->fc1->prefill(calc_stream, num_prev, this->input_norm1->output, this->a_tmp, this->c_tmp); + this->fc2->prefill(calc_stream, num_prev, this->input_norm2->output, this->a_tmp, this->c_tmp); + } else { + this->fc1->prefill(calc_stream, num_prev, this->input_norm1->output); + this->fc2->prefill(calc_stream, num_prev, this->input_norm2->output); + } + } else { + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + this->fc1->prefill(calc_stream, num_prev, this->prev_embed, this->a_tmp, this->c_tmp); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state, this->a_tmp, this->c_tmp); + } else { + this->fc1->prefill(calc_stream, num_prev, this->prev_embed); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state); + } + } + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->prefill(num_prev, num_history_tokens, this->fc2->output, layer_output, this->eagle_position_ids, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_prev, this->model->hidden_size, layer_output, this->residual_scale); + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + } + + void eagle_decode(int32_t* cache_length) { + if (use_input_norm) { + this->input_norm1->prefill(calc_stream, num_prev, this->prev_embed, nullptr); + this->input_norm2->prefill(calc_stream, num_prev, this->prev_hidden_state, nullptr); + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + this->fc1->prefill(calc_stream, num_prev, this->input_norm1->output, this->a_tmp, this->c_tmp); + this->fc2->prefill(calc_stream, num_prev, this->input_norm2->output, this->a_tmp, this->c_tmp); + } else { + this->fc1->prefill(calc_stream, num_prev, this->input_norm1->output); + this->fc2->prefill(calc_stream, num_prev, this->input_norm2->output); + } + } else { + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + this->fc1->prefill(calc_stream, num_prev, this->prev_embed, this->a_tmp, this->c_tmp); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state, this->a_tmp, this->c_tmp); + } else { + this->fc1->prefill(calc_stream, num_prev, this->prev_embed); + this->fc2->prefill(calc_stream, num_prev, this->prev_hidden_state); + } + } + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->decode(num_prev, this->eagle_padded_length, this->fc2->output, layer_output, this->eagle_position_ids, cache_length, Mask(nullptr), this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_prev, this->model->hidden_size, layer_output, this->residual_scale); + elementwise_add(calc_stream, num_prev, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->model->embedding->prefill(calc_stream, num_tokens, input); + if (num_history_tokens > 0) { + this->eagle_prefill(num_history_tokens); + } + + cudaMemcpy(this->prev_embed, this->model->embedding->output + this->model->hidden_size, (num_tokens - 1) * this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + this->model->prefill_embed(num_tokens, num_history_tokens, this->model->embedding->output, position_ids, output); + this->prev_hidden_state = this->model->norm->output; + cudaMemcpy(this->eagle_position_ids, position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev = num_tokens; + + this->num_history_tokens = num_history_tokens; + this->is_first_draft = true; + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->model->decode(num_tokens, padded_length, input, position_ids, cache_length, mask_2d, output); + } + + void draft(int32_t* tree_draft_ids, int32_t* tree_position_ids, int32_t* cache_length, uint64_t* tree_attn_mask, int32_t* tree_parent) { + cudaMemcpy(this->eagle_original_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->eagle_padded_length = (this->eagle_original_length[0] + 256 - 1) / 128 * 128; + + + if (this->is_first_draft) { + this->model->embedding->prefill(calc_stream, 1, tree_draft_ids); + this->eagle_prefill(this->num_history_tokens); + } else { + this->eagle_decode(cache_length); + } + cudaMemcpy(this->eagle_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->eagle_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + repeat(calc_stream, topk_per_iter, 1, 0, this->eagle_position_ids); + + { // d = 0 + lm_head->prefill(calc_stream, 1, this->fc2->output + (num_prev - 1) * this->model->hidden_size, this->eagle_logits); + log_softmax(calc_stream, 1, this->frspec_vocab_size, this->eagle_logits); + this->topk_func->prefill(calc_stream, 1, this->eagle_logits); + cudaMemcpy(this->tried_history_val, this->topk_func->topk_val, topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_pos, this->topk_func->topk_pos, topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + if (this->frspec_vocab_size != this->model->vocab_size) { + remap(calc_stream, topk_per_iter, this->topk_func->topk_pos, this->topk_func_2->topk_pos, this->token_id_remap); + } else { + cudaMemcpy(this->topk_func_2->topk_pos, this->topk_func->topk_pos, topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + } + cudaMemcpy(this->topk_func_2->topk_val, this->topk_func->topk_val, topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + repeat(calc_stream, topk_per_iter, this->model->hidden_size, num_prev-1, this->fc2->output, this->fc1->output); + init_tree(calc_stream, topk_per_iter, this->eagle_mask_2d); + } + for (int d = 1; d < this->num_iter; ++d) { + add(calc_stream, 1, this->eagle_cache_length, topk_per_iter); + this->model->embedding->prefill(calc_stream, topk_per_iter, this->topk_func_2->topk_pos); + if (use_input_norm) { + this->input_norm1->prefill(calc_stream, topk_per_iter, this->model->embedding->output, nullptr); + this->input_norm2->prefill(calc_stream, topk_per_iter, this->fc1->output, nullptr); + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + this->fc1->prefill(calc_stream, topk_per_iter, this->input_norm1->output, this->a_tmp, this->c_tmp); + this->fc2->prefill(calc_stream, topk_per_iter, this->input_norm2->output, this->a_tmp, this->c_tmp); + } else { + this->fc1->prefill(calc_stream, topk_per_iter, this->input_norm1->output); + this->fc2->prefill(calc_stream, topk_per_iter, this->input_norm2->output); + } + } else { + if constexpr (std::is_same_v<Fc1Type, W4A16GPTQMarlinLinear<T, true, true>>) { + this->fc2->prefill(calc_stream, topk_per_iter, this->fc1->output, this->a_tmp, this->c_tmp); + this->fc1->prefill(calc_stream, topk_per_iter, this->model->embedding->output, this->a_tmp, this->c_tmp); + } else { + this->fc2->prefill(calc_stream, topk_per_iter, this->fc1->output); + this->fc1->prefill(calc_stream, topk_per_iter, this->model->embedding->output); + } + } + elementwise_add(calc_stream, topk_per_iter, this->model->hidden_size, this->fc1->output, this->fc2->output, this->fc2->output); + T* layer_output = nullptr; + for (int i = 0; i < num_layers; i++) { + this->layers[i]->decode(topk_per_iter, this->eagle_padded_length, this->fc2->output, layer_output, this->eagle_position_ids, this->eagle_cache_length, Mask(eagle_mask_2d, topk_per_iter, topk_per_iter * d), this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, topk_per_iter, this->model->hidden_size, layer_output, this->residual_scale); + elementwise_add(calc_stream, topk_per_iter, this->model->hidden_size, this->fc2->output, layer_output, this->fc2->output); + add(calc_stream, topk_per_iter, this->eagle_position_ids, 1); + + lm_head->prefill(calc_stream, topk_per_iter, this->fc2->output, this->eagle_logits); + log_softmax(calc_stream, topk_per_iter, this->frspec_vocab_size, this->eagle_logits); + this->topk_func->prefill(calc_stream, topk_per_iter, this->eagle_logits); + cumsum(calc_stream, topk_per_iter, topk_per_iter, this->topk_func->topk_val, this->topk_func_2->topk_val); + cudaMemcpy(this->tried_history_val + topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter, this->topk_func->topk_val, topk_per_iter * topk_per_iter * sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->tried_history_pos + topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter, this->topk_func->topk_pos, topk_per_iter * topk_per_iter * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->topk_func_2->prefill(calc_stream, 1, this->topk_func->topk_val, topk_per_iter * topk_per_iter, topk_per_iter); + + cudaMemcpy(this->tmp_mask_2d, this->eagle_mask_2d, topk_per_iter * sizeof(uint64_t), cudaMemcpyDeviceToDevice); + set_parent(calc_stream, topk_per_iter, this->tried_history_parent + (d - 1) * topk_per_iter, this->topk_func_2->topk_pos, topk_per_iter + (d - 1) * topk_per_iter * topk_per_iter); + update_tree(calc_stream, topk_per_iter, topk_per_iter * d, this->eagle_mask_2d, this->tmp_mask_2d, this->topk_func_2->topk_pos); + remap_hidden(calc_stream, topk_per_iter, this->model->hidden_size, this->topk_func_2->topk_pos, this->fc2->output, this->fc1->output, topk_per_iter); + if (this->frspec_vocab_size != this->model->vocab_size) { + remap_id_fr(calc_stream, topk_per_iter, this->topk_func_2->topk_pos, this->topk_func->topk_pos, this->token_id_remap); + } else { + remap_id(calc_stream, topk_per_iter, this->topk_func_2->topk_pos, this->topk_func->topk_pos); + } + } + + this->topk_func_2->prefill(calc_stream, 1, this->tried_history_val); + + // build tree + build_dynamic_tree(calc_stream, this->tree_size, this->eagle_original_length[0], this->topk_per_iter, this->tried_history_parent, this->topk_func_2->topk_pos, tree_position_ids, tree_attn_mask, tree_parent); + if (this->frspec_vocab_size != this->model->vocab_size) { + remap_id_fr(calc_stream, this->tree_size-1, this->topk_func_2->topk_pos, this->tried_history_pos, this->token_id_remap, tree_draft_ids + 1); + } else { + remap_id(calc_stream, this->tree_size-1, this->topk_func_2->topk_pos, this->tried_history_pos, tree_draft_ids + 1); + } + + this->is_first_draft = false; + } + + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, int32_t* tree_parent) { + verify_draft(calc_stream, num_tokens, pred, gt, position_ids, cache_length, mask_2d, tree_parent, this->d_best); + cudaMemcpyAsync(this->h_best, this->d_best, 2 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + this->num_prev = h_best[0]; + remap_hidden(calc_stream, this->num_prev, this->model->hidden_size, pred, this->model->norm->output, this->prev_hidden_state); + + fix_kv_cache(calc_stream, h_best[0], this->model->kv_caches->num_hidden_layers * 2, this->model->kv_caches->dim, pred, gt, cache_length, this->model->kv_caches->d_flat_caches, this->tmp_kvcache); + + this->model->embedding->prefill(calc_stream, this->num_prev, pred); + cudaMemcpy(this->prev_embed, this->model->embedding->output, this->num_prev * this->model->hidden_size * sizeof(T), cudaMemcpyDeviceToDevice); + + make_arange(calc_stream, this->num_prev, cache_length, this->eagle_position_ids); + + if constexpr (std::is_same_v<ModelType, MiniCPM4Impl<T>> || std::is_same_v<ModelType, MiniCPM4W4A16GPTQMarlinModelImpl<T>>) { + this->model->kv_caches->add_length(h_best[0] - 1); + } + + return h_best[0]; + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_kvcache.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_kvcache.cuh new file mode 100644 index 00000000..686d1a47 --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_kvcache.cuh @@ -0,0 +1,316 @@ +#pragma once +#include "../kvcache.cuh" +#include "../topk.cuh" + +namespace { +template <typename T> +__global__ void meanpooling_16_kernel(int left, int dim, T* compressed, const T* k_cache) { + __shared__ T s[32][33]; + + int idx = blockIdx.x + left; + int orig_left = idx * 16; + T* c = compressed + idx * dim; + const T* k = k_cache + orig_left * dim; + int i = threadIdx.x / 32; + int j = threadIdx.x % 32; + + for (int offset = 0; offset < dim; offset += 32) { + s[i][j] = k[i * dim + offset + j]; + __syncthreads(); + float v = s[j][i]; + v += __shfl_down_sync(0xffffffff, v, 16); + v += __shfl_down_sync(0xffffffff, v, 8); + v += __shfl_down_sync(0xffffffff, v, 4); + v += __shfl_down_sync(0xffffffff, v, 2); + v += __shfl_down_sync(0xffffffff, v, 1); + if (j == 0) { + c[offset + i] = T(v / 32.0f); + } + } +} + +template <typename T> +__global__ void meanpooling_64_kernel(int left, int dim, T* compressed, const T* k_cache) { + __shared__ T s[32][33]; + + int idx = blockIdx.x + left; + int orig_left = idx * 64; + T* c = compressed + idx * dim; + const T* k = k_cache + orig_left * dim; + int i = threadIdx.x / 32; + int j = threadIdx.x % 32; + + for (int offset = 0; offset < dim; offset += 32) { + float v_sum[32] = {0}; + for (int offset_row = 0; offset_row < 128; offset_row += 32) { + s[i][j] = k[(i + offset_row) * dim + offset + j]; + __syncthreads(); + float v = s[j][i]; + v += __shfl_down_sync(0xffffffff, v, 16); + v += __shfl_down_sync(0xffffffff, v, 8); + v += __shfl_down_sync(0xffffffff, v, 4); + v += __shfl_down_sync(0xffffffff, v, 2); + v += __shfl_down_sync(0xffffffff, v, 1); + if (j == 0) { + v_sum[i] += v; + } + } + if (j == 0) { + c[offset + i] = T(v_sum[i] / 128.0f); + } + } +} + +template <typename T> +__global__ void maxpooling_kernel( + const T* input, + T* output, + int num_heads, + int q_len, + int q_round, + int k_len, + int out_len, + int cache_len, + int init_blocks, + int local_blocks, + int kernel_size, + int stride, + int padding, + int block_size +) { + int bidh = blockIdx.y; + int bidq = blockIdx.x; + const T* in = input + bidh * q_round * k_len + bidq * k_len; + T* out = output + bidh * q_len * out_len + bidq * out_len; + int q_block = (bidq + cache_len) / block_size; + + for (int k = threadIdx.x; k < out_len; k += blockDim.x) { + int start = k * stride - padding; + int end = start + kernel_size; + start = max(start, 0); + end = min(end, k_len); + + T max_val; + if (k < init_blocks) { + max_val = TypeTraits<T>::inf(); + } else if (q_block - local_blocks < k) { + max_val = -TypeTraits<T>::inf(); + } else { + max_val = in[start]; + for (int i = start + 1; i < end; i++) { + if (in[i] > max_val) { + max_val = in[i]; + } + } + } + out[k] = max_val; + } +} + +__global__ void kernel_topk_to_uint64( + const int* topk_idx, + uint64_t* result, + int batch_size, + int k, + int k_blocks, + int n_uint64_per_row +) { + int row = blockIdx.x * blockDim.x + threadIdx.x; + int col = blockIdx.y; + + if (row >= batch_size || col >= n_uint64_per_row) return; + + int out_idx = row * n_uint64_per_row + col; + + int bit_start = col * 64; + + uint64_t packed_value = 0; + + for (int i = 0; i < k; i++) { + int idx_offset = row * k + i; + int idx = topk_idx[idx_offset]; + + if (idx == -1) continue; + + if (idx >= bit_start && idx < bit_start + 64) { + int local_bit = idx - bit_start; + packed_value |= (1ULL << local_bit); + } + } + + result[out_idx] = packed_value; +} + +template <typename T> +void meanpooling(const Stream& stream, int left, int right, int dim, T* compressed, const T* k_cache, int stride) { + if (left == right) return; + if (stride == 16) { + meanpooling_16_kernel<<<right-left, 1024, 0, stream.stream>>>(left, dim, compressed, k_cache); + } else if (stride == 64) { + meanpooling_64_kernel<<<right-left, 1024, 0, stream.stream>>>(left, dim, compressed, k_cache); + } else { + throw std::runtime_error("Unsupported meanpooling stride: " + std::to_string(stride)); + } +} + +template <typename T> +void maxpooling_func( + cudaStream_t stream, + const T* input, + T* output, + int num_heads, + int q_len, + int q_round, + int k_len, + int cache_len, + int init_blocks, + int local_blocks, + int &out_len, + int kernel_size=5, + int stride=4, + int padding=1, + int block_size=64 +) { + out_len = (cache_len + block_size - 1) / block_size; + maxpooling_kernel<<<dim3(q_len, num_heads), 256, 0, stream>>>( + input, output, num_heads, q_len, q_round, k_len, out_len, cache_len, init_blocks, local_blocks, kernel_size, stride, padding, block_size + ); +} + +void topk_to_uint64_func( // TODO not necessary now, since topk is small + cudaStream_t stream, + const int* topk_idx, // Input topk indices + uint64_t* result, // Output uint64 array + int batch_size, // num_heads x q_len + int topk, // Number of topk values per row + int k_len, // k_len + int block_size = 64 +) { + int k_blocks = (k_len + block_size - 1) / block_size; + int n_uint64_per_row = (k_blocks + block_size - 1) / block_size; + + const int threads_per_block = 256; + const int blocks_per_row = (batch_size + threads_per_block - 1) / threads_per_block; + + dim3 grid(blocks_per_row, n_uint64_per_row); + dim3 block(threads_per_block, 1); + + kernel_topk_to_uint64<<<grid, block, 0, stream>>>( + topk_idx, result, batch_size, topk, k_blocks, n_uint64_per_row + ); +} +} + +template <typename T> +struct MiniCPM4KVCache : KVCache<T> { + uint64_t *blockmask; + T *stage1_score, *pool_score; + functions::TopK<T> *topk_func; + T *c1_cache, *c2_cache; + int c1_stride, c2_stride; + int c1_len, c2_len; + int prev_kv_length; + int next_kv_length; + bool apply_compress_lse; + + MiniCPM4KVCache(int dim, RotaryEmbedding<T> *rotary_embedding, uint64_t *blockmask, T* stage1_score, T* pool_score, functions::TopK<T> *topk_func, bool apply_compress_lse) : KVCache<T>(dim, rotary_embedding) { + this->blockmask = blockmask; + this->stage1_score = stage1_score; + this->pool_score = pool_score; + this->topk_func = topk_func; + c1_stride = 16; + c2_stride = 64; + assert(this->dim % 32 == 0); + this->apply_compress_lse = apply_compress_lse; + } + + void init() { + this->prev_kv_length = 0; + this->next_kv_length = 0; + this->c1_len = 0; + this->c2_len = 0; + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int32_t num_c1, int32_t num_c2, int64_t offset) { + offset = KVCache<T>::init_output_ptr(memory, num_tokens, offset); + offset = memory->allocate((void**)&this->c1_cache, offset, num_c1 * this->dim * sizeof(T)); + if (apply_compress_lse) { + offset = memory->allocate((void**)&this->c2_cache, offset, num_c2 * this->dim * sizeof(T)); + } + return offset; + } + + void compress(const Stream& stream) { + int prev_pos; + prev_pos = c1_len; + c1_len = max((this->next_kv_length - c1_stride) / c1_stride, 0); + meanpooling(stream, prev_pos, c1_len, this->dim, this->c1_cache, this->k_cache, c1_stride); + if (apply_compress_lse) { + prev_pos = c2_len; + c2_len = max((this->next_kv_length - c2_stride) / c2_stride, 0); + meanpooling(stream, prev_pos, c2_len, this->dim, this->c2_cache, this->k_cache, c2_stride); + } + this->prev_kv_length = this->next_kv_length; + } +}; + +template <typename T> +struct MiniCPM4KVCacheManager { + int num_hidden_layers; + int dim; + int budget; + int budget_c1, budget_c2; + std::vector<MiniCPM4KVCache<T>*> caches; + T **h_flat_caches, **d_flat_caches; + RotaryEmbedding<T> *rotary_embedding; + uint64_t *blockmask; + T* stage1_score, *pool_score; + functions::TopK<T> *topk_func; + bool apply_compress_lse; + + MiniCPM4KVCacheManager(int num_hidden_layers, int num_key_value_heads, int head_dim, int sparse_topk_k, bool apply_compress_lse) { + this->num_hidden_layers = num_hidden_layers; + this->dim = num_key_value_heads * head_dim; + this->rotary_embedding = new RotaryEmbedding<T>(head_dim); + this->topk_func = new functions::TopK<T>(4096, sparse_topk_k); // 256k/64 + this->apply_compress_lse = apply_compress_lse; + } + + void init_weight_ptr(Memory* memory) { + this->rotary_embedding->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int num_tokens, int64_t offset, float ratio=1.0) { + // 2 = num_heads + offset = memory->allocate((void**)&this->blockmask, offset, 2 * num_tokens * 64 * sizeof(uint64_t)); // 256k/64/64 + offset = memory->allocate((void**)&this->stage1_score, offset, 2 * num_tokens * 16384 * sizeof(T)); // 256k/16 + offset = memory->allocate((void**)&this->pool_score, offset, 2 * num_tokens * 4096 * sizeof(T)); // 256k/64 + offset = topk_func->init_output_ptr(memory, 2 * num_tokens, offset); + + offset = memory->allocate((void**)&this->d_flat_caches, offset, num_hidden_layers * 2 * sizeof(T*)); + + budget = int64_t(memory->get_remaining_memory(offset) * ratio * 0.999) / (this->num_hidden_layers * 2 * this->dim * sizeof(T)) - 1; + for (int i = 0; i < this->num_hidden_layers; i++) { + caches.push_back(new MiniCPM4KVCache<T>(this->dim, this->rotary_embedding, this->blockmask, stage1_score, pool_score, topk_func, apply_compress_lse)); + } + budget_c2 = (int)(budget / 69.0); // 1 + 4 + 64 + budget_c1 = budget_c2 * 4; + budget = budget_c1 * 16; + for (int i = 0; i < this->num_hidden_layers; i++) { + offset = caches[i]->init_output_ptr(memory, budget, budget_c1, budget_c2, offset); + } + this->h_flat_caches = new T*[num_hidden_layers * 2]; + for (int i = 0; i < num_hidden_layers; i++) { + this->h_flat_caches[i * 2] = caches[i]->k_cache; + this->h_flat_caches[i * 2 + 1] = caches[i]->v_cache; + } + cudaMemcpy(this->d_flat_caches, this->h_flat_caches, num_hidden_layers * 2 * sizeof(T*), cudaMemcpyHostToDevice); + return offset; + } + + void add_length(int length) { + for (int i = 0; i < this->num_hidden_layers; i++) { + caches[i]->next_kv_length += length; + } + } +}; diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_layer.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_layer.cuh new file mode 100644 index 00000000..9e6bea74 --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_layer.cuh @@ -0,0 +1,85 @@ +#pragma once +#include "../layer.cuh" +#include "minicpm4_attn.cuh" + +template <typename T> +struct MiniCPM4Layer { + MiniCPM4Attention<T> *attn; + FFN<T> *ffn; + T* output; + int hidden_size; + float residual_scale; + + MiniCPM4Layer(int hidden_size, int intermediate_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, float residual_scale = 1.0, int sink_window_size = 1, int block_window_size = 32, int sparse_switch = 8192, bool apply_compress_lse = false) { + this->attn = new MiniCPM4Attention<T>(hidden_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, sink_window_size, block_window_size, sparse_switch, apply_compress_lse); + this->ffn = new GatedFFN<T>(hidden_size, intermediate_size, rms_norm_eps); + this->hidden_size = hidden_size; + this->residual_scale = residual_scale; + } + + void init_weight_ptr(Memory* memory) { + this->attn->init_weight_ptr(memory); + this->ffn->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t attn_end = this->attn->init_output_ptr(memory, num_tokens, offset); + int64_t ffn_end = this->ffn->init_output_ptr(memory, num_tokens, offset); + this->output = this->ffn->output; + return std::max(attn_end, ffn_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("attn") != std::string::npos || name.find("input_layernorm") != std::string::npos) { + this->attn->load_to_storage(name, ptr); + } else if (name.find("mlp") != std::string::npos || name.find("post_attention_layernorm") != std::string::npos) { + this->ffn->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(M4_PREFILL_ATTN, calc_stream.stream); + this->attn->prefill(calc_stream, num_tokens, num_history_tokens, input, prev_output, position_ids, static_cast<MiniCPM4KVCache<T>*>(kv_cache)); + cuda_perf_stop_on_stream_f(M4_PREFILL_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(M4_PREFILL_FFN, calc_stream.stream); + this->ffn->prefill(calc_stream, num_tokens, input, this->attn->output); + cuda_perf_stop_on_stream_f(M4_PREFILL_FFN, calc_stream.stream); + } + + void decode(int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(M4_DECODE_ATTN, calc_stream.stream); + this->attn->decode(calc_stream, num_tokens, padded_length, input, prev_output, position_ids, cache_length, mask, static_cast<MiniCPM4KVCache<T>*>(kv_cache)); + cuda_perf_stop_on_stream_f(M4_DECODE_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(M4_DECODE_FFN, calc_stream.stream); + this->ffn->decode(calc_stream, num_tokens, input, this->attn->output); + cuda_perf_stop_on_stream_f(M4_DECODE_FFN, calc_stream.stream); + } +}; diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_model.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_model.cuh new file mode 100644 index 00000000..b30c5a9b --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_model.cuh @@ -0,0 +1,160 @@ +#pragma once +#include "../model.cuh" +#include "minicpm4_layer.cuh" +#include "minicpm4_kvcache.cuh" + +template <typename T> +struct MiniCPM4Impl : Model { + Memory* memory; + + int vocab_size; + int num_hidden_layers; + int hidden_size; + int intermediate_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + int chunk_length; + + MiniCPM4KVCacheManager<T>* kv_caches; + + Embedding<T>* embedding; + std::vector<MiniCPM4Layer<T>*> layers; + RMSNorm<T>* norm; + LMHead<T>* lm_head; + float residual_scale; + + MiniCPM4Impl( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int chunk_length, + float scale_embed = 1.0f, + float scale_lmhead = 1.0f, + float scale_residual = 1.0f, + int sink_window_size = 1, + int block_window_size = 32, + int sparse_topk_k = 32, + int sparse_switch = 8192, + bool apply_compress_lse = false + ) { + this->vocab_size = vocab_size; + this->num_hidden_layers = num_hidden_layers; + this->hidden_size = hidden_size; + this->intermediate_size = intermediate_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->chunk_length = chunk_length; + this->residual_scale = scale_residual; + + memory = new Memory(memory_limit); + + kv_caches = new MiniCPM4KVCacheManager<T>(num_hidden_layers, num_key_value_heads, head_dim, sparse_topk_k, apply_compress_lse); + + embedding = new Embedding<T>(vocab_size, hidden_size, scale_embed); + for (int i = 0; i < num_hidden_layers; i++) { + layers.push_back(new MiniCPM4Layer<T>(hidden_size, intermediate_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, residual_scale, sink_window_size, block_window_size, sparse_switch, apply_compress_lse)); + } + norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + lm_head = new LMHead<T>(hidden_size, vocab_size, scale_lmhead); + } + + void init_weight_ptr(Memory* memory) { + embedding->init_weight_ptr(memory); + for (int i = 0; i < num_hidden_layers; i++) { + layers[i]->init_weight_ptr(memory); + } + norm->init_weight_ptr(memory); + lm_head->init_weight_ptr(memory); + kv_caches->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t embedding_end = embedding->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < num_hidden_layers; i++) { + layer_end = layers[i]->init_output_ptr(memory, num_tokens, embedding_end); + } + // norm and lm_head are not used in prefill + int64_t norm_end = norm->init_output_ptr(memory, num_tokens, layer_end); + int64_t lm_head_end = lm_head->init_output_ptr(memory, 64, norm_end); + return lm_head_end; + } + + int init_storage() { + init_weight_ptr(memory); + int64_t kv_cache_offset = init_output_ptr(memory, chunk_length, memory->model_offset); + kv_cache_offset = kv_caches->init_output_ptr(memory, chunk_length, kv_cache_offset); + return this->kv_caches->budget; + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 18) == "model.embed_tokens") { + embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 10) == "model.norm") { + norm->load_to_storage(name, ptr); + } else if (name.substr(0, 7) == "lm_head") { + lm_head->load_to_storage(name, ptr); + } else if (name.find("rotary_emb") != std::string::npos) { + kv_caches->rotary_embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 12) == "model.layers") { // e.g. model.layers.20.attn.q_proj.weight + std::regex layer_regex("model\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill_embed(int32_t num_tokens, int32_t num_history_tokens, T* embed, int32_t* position_ids, void* output) { + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->prefill(num_tokens, num_history_tokens, embed, layer_output, position_ids, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, embed, layer_output); + this->lm_head->prefill(calc_stream, 1, this->norm->output + (num_tokens - 1) * hidden_size, (T*)output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + prefill_embed(num_tokens, num_history_tokens, this->embedding->output, position_ids, output); + } + + void decode_embed(int32_t num_tokens, int32_t padded_length, T* embed, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + Mask mask(mask_2d, num_tokens, num_tokens); + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->decode(num_tokens, padded_length, this->embedding->output, layer_output, position_ids, cache_length, mask, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, this->embedding->output, layer_output); + this->lm_head->prefill(calc_stream, num_tokens, this->norm->output, (T*)output); + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + decode_embed(num_tokens, padded_length, this->embedding->output, position_ids, cache_length, mask_2d, output); + } + + void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Draft is not supported"); } + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Verify is not supported"); } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_attn.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_attn.cuh new file mode 100644 index 00000000..579e2e83 --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_attn.cuh @@ -0,0 +1,319 @@ +#pragma once +#include "../attn.cuh" +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_linear.cuh" +#include "minicpm4_kvcache.cuh" + +template <typename T> +struct MiniCPM4W4A16GPTQMarlinAttention { + int hidden_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + Norm<T> *attn_norm; + W4A16GPTQMarlinLinear<T> *qkv_proj; + W4A16GPTQMarlinLinear<T> *o_proj; + T* output; + + T* attn_output; + float *softmax_lse, *softmax_lse_accum, *oaccum; + + T* q_proj_output, *v_proj_output, *k_proj_output; + T* permute_qkv_output; + + int sink_window_size; + int block_window_size; + int sparse_switch; + bool apply_compress_lse; + + MiniCPM4W4A16GPTQMarlinAttention(int hidden_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, int group_size, int sink_window_size, int block_window_size, int sparse_switch, bool apply_compress_lse) { + this->hidden_size = hidden_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->attn_norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + + this->qkv_proj = new W4A16GPTQMarlinLinear<T>(hidden_size, (num_attention_heads + 2*num_key_value_heads) * head_dim, group_size); + this->o_proj = new W4A16GPTQMarlinLinear<T>(hidden_size, num_attention_heads * head_dim, group_size); + + this->sink_window_size = sink_window_size; + this->block_window_size = block_window_size; + this->sparse_switch = sparse_switch; + this->apply_compress_lse = apply_compress_lse; + } + + void init_weight_ptr(Memory* memory) { + this->attn_norm->init_weight_ptr(memory); + this->qkv_proj->init_weight_ptr(memory); + this->o_proj->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t attn_norm_end = this->attn_norm->init_output_ptr(memory, num_tokens, offset); + int64_t qkv_proj_end = this->qkv_proj->init_output_ptr(memory, num_tokens, attn_norm_end); + + this->q_proj_output = this->qkv_proj->output; + this->k_proj_output = this->qkv_proj->output + num_tokens * this->num_attention_heads * this->head_dim; + this->v_proj_output = this->qkv_proj->output + num_tokens * (this->num_attention_heads+this->num_key_value_heads) * this->head_dim; + int64_t qkv_permute_end = memory->allocate((void**)&this->permute_qkv_output, qkv_proj_end, num_tokens * (this->num_attention_heads + 2*this->num_key_value_heads) * this->head_dim * sizeof(T)); + + int64_t attn_output_end = memory->allocate((void**)&this->attn_output, offset, num_tokens * this->num_attention_heads * this->head_dim * sizeof(T)); + int64_t softmax_lse_end = memory->allocate((void**)&this->softmax_lse, qkv_permute_end, num_tokens * this->num_attention_heads * sizeof(float)); + const int max_num_splits = 128; // Maximum number of splits for attention computation + const int max_spec_tree_size = 64; // Maximum size of speculative decoding tree + int64_t softmax_lse_accum_end = memory->allocate((void**)&this->softmax_lse_accum, softmax_lse_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * sizeof(float)); + int64_t oaccum_end = memory->allocate((void**)&this->oaccum, softmax_lse_accum_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * this->head_dim * sizeof(float)); + + int64_t o_proj_end = this->o_proj->init_output_ptr(memory, num_tokens, qkv_permute_end); + this->output = this->o_proj->output; + + return std::max(oaccum_end, o_proj_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("qkv_proj") != std::string::npos) { + this->qkv_proj->load_to_storage(name, ptr); + } else if (name.find("o_proj") != std::string::npos) { + this->o_proj->load_to_storage(name, ptr); + } else if (name.find("input_layernorm") != std::string::npos) { + this->attn_norm->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, MiniCPM4KVCache<T>* kv_cache, T* a_tmp, float* c_tmp) { + T* k_cache = kv_cache->offset_k(num_history_tokens); + T* v_cache = kv_cache->offset_v(num_history_tokens); + + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + this->qkv_proj->prefill(stream, num_tokens, this->attn_norm->output, a_tmp, c_tmp); + permute(stream, num_tokens, this->num_attention_heads * this->head_dim, this->num_key_value_heads * this->head_dim, this->qkv_proj->output, this->permute_qkv_output); + cudaMemcpy(k_cache, this->permute_qkv_output + num_tokens*this->num_attention_heads*this->head_dim, num_tokens*this->num_key_value_heads*this->head_dim*sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(v_cache, this->permute_qkv_output + num_tokens*( this->num_attention_heads + this->num_key_value_heads)*this->head_dim, num_tokens*this->num_key_value_heads*this->head_dim*sizeof(T), cudaMemcpyDeviceToDevice); + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, this->permute_qkv_output, k_cache, position_ids); + + cuda_perf_start_on_stream_f(M4Q_PREFILL_ATTN_CORE, stream.stream); + cuda_perf_start_on_stream_f(M4Q_PREFILL_ATTN_STAGE1, stream.stream); + if (num_history_tokens == 0) { + kv_cache->init(); + } else { + kv_cache->compress(stream); + } + + uint64_t *blockmask = nullptr; + if ((!apply_compress_lse && kv_cache->c1_len * kv_cache->c1_stride >= this->sparse_switch) || (apply_compress_lse && kv_cache->c2_len * kv_cache->c2_stride >= this->sparse_switch)) { + int q_round, k_round, out_len; + cuda_perf_start_on_stream_f(M4Q_PREFILL_ATTN_STAGE1_CORE, stream.stream); + mha_fwd_stage1( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + kv_cache->c1_len, + apply_compress_lse ? kv_cache->c2_len : kv_cache->c1_len, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + this->permute_qkv_output, + kv_cache->c1_cache, + apply_compress_lse ? kv_cache->c2_cache : kv_cache->c1_cache, + nullptr, + kv_cache->stage1_score, + rsqrtf(float(this->head_dim)), + false, + -1, + -1, + 0, + stream.stream, + q_round, + k_round + ); + cuda_perf_stop_on_stream_f(M4Q_PREFILL_ATTN_STAGE1_CORE, stream.stream); + maxpooling_func( + stream.stream, + kv_cache->stage1_score, + kv_cache->pool_score, + this->num_key_value_heads, + num_tokens, + q_round, + k_round, + kv_cache->next_kv_length, + this->sink_window_size, + this->block_window_size, + out_len + ); + kv_cache->topk_func->prefill( + stream, + this->num_key_value_heads*num_tokens, + kv_cache->pool_score, + out_len + ); + topk_to_uint64_func( + stream.stream, + kv_cache->topk_func->topk_pos, + kv_cache->blockmask, + this->num_key_value_heads*num_tokens, + kv_cache->topk_func->top, + num_history_tokens+num_tokens + ); + blockmask = kv_cache->blockmask; + } + cuda_perf_stop_on_stream_f(M4Q_PREFILL_ATTN_STAGE1, stream.stream); + + cuda_perf_start_on_stream_f(M4Q_PREFILL_ATTN_STAGE2, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + num_history_tokens+num_tokens, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + this->permute_qkv_output, + kv_cache->k_cache, + kv_cache->v_cache, + nullptr, + Mask(nullptr), + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + blockmask, + blockmask ? this->block_window_size : 0 // TODO fix this condition + ); + cuda_perf_stop_on_stream_f(M4Q_PREFILL_ATTN_STAGE2, stream.stream); + cuda_perf_stop_on_stream_f(M4Q_PREFILL_ATTN_CORE, stream.stream); + + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output, a_tmp, c_tmp); + + kv_cache->next_kv_length = kv_cache->next_kv_length + num_tokens; + } + + void decode(const Stream& stream, int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, MiniCPM4KVCache<T>* kv_cache, T* a_tmp, float* c_tmp) { + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + T *q, *k, *v; + + if (num_tokens > 1) { + this->qkv_proj->prefill(stream, num_tokens, this->attn_norm->output, a_tmp, c_tmp); + permute(stream, num_tokens, this->num_attention_heads * this->head_dim, this->num_key_value_heads * this->head_dim, this->qkv_proj->output, this->permute_qkv_output); // TODO: Double check + q = this->permute_qkv_output; + } else { + this->qkv_proj->prefill(stream, num_tokens, this->attn_norm->output, a_tmp, c_tmp); + q = this->qkv_proj->output; + } + k = q + num_tokens * this->num_attention_heads * this->head_dim; + v = k + num_tokens * this->num_key_value_heads * this->head_dim; + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, q, k, position_ids); + + cuda_perf_start_on_stream_f(M4Q_DECODE_ATTN_CORE, stream.stream); + cuda_perf_start_on_stream_f(M4Q_DECODE_ATTN_STAGE1, stream.stream); + + copy_to_kvcache(stream, num_tokens, k, v, kv_cache, cache_length); + + kv_cache->compress(stream); + + uint64_t *blockmask = nullptr; + if ((!apply_compress_lse && kv_cache->c1_len * kv_cache->c1_stride >= this->sparse_switch) || (apply_compress_lse && kv_cache->c2_len * kv_cache->c2_stride >= this->sparse_switch)) { + int q_round, k_round, out_len; + cuda_perf_start_on_stream_f(M4Q_DECODE_ATTN_STAGE1_CORE, stream.stream); + mha_fwd_stage1( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + kv_cache->c1_len, + apply_compress_lse ? kv_cache->c2_len : kv_cache->c1_len, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + q, + kv_cache->c1_cache, + apply_compress_lse ? kv_cache->c2_cache : kv_cache->c1_cache, + nullptr, + kv_cache->stage1_score, + rsqrtf(float(this->head_dim)), + false, + -1, + -1, + 0, + stream.stream, + q_round, + k_round + ); + cuda_perf_stop_on_stream_f(M4Q_DECODE_ATTN_STAGE1_CORE, stream.stream); + maxpooling_func( + stream.stream, + kv_cache->stage1_score, + kv_cache->pool_score, + this->num_key_value_heads, + num_tokens, + q_round, + k_round, + kv_cache->next_kv_length, + this->sink_window_size, + this->block_window_size, + out_len + ); + kv_cache->topk_func->prefill( + stream, + this->num_key_value_heads*num_tokens, + kv_cache->pool_score, + out_len + ); + topk_to_uint64_func( + stream.stream, + kv_cache->topk_func->topk_pos, + kv_cache->blockmask, + this->num_key_value_heads*num_tokens, + kv_cache->topk_func->top, + padded_length + ); + blockmask = kv_cache->blockmask; + } + cuda_perf_stop_on_stream_f(M4Q_DECODE_ATTN_STAGE1, stream.stream); + + cuda_perf_start_on_stream_f(M4Q_DECODE_ATTN_STAGE2, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + padded_length, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + q, + kv_cache->k_cache, + kv_cache->v_cache, + cache_length, + mask, + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + blockmask, + blockmask ? this->block_window_size : 0 // TODO fix this condition + ); + cuda_perf_stop_on_stream_f(M4Q_DECODE_ATTN_STAGE2, stream.stream); + cuda_perf_stop_on_stream_f(M4Q_DECODE_ATTN_CORE, stream.stream); + + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output, a_tmp, c_tmp); + + kv_cache->next_kv_length = kv_cache->next_kv_length + 1; + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_layer.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_layer.cuh new file mode 100644 index 00000000..fb5e0e11 --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_layer.cuh @@ -0,0 +1,98 @@ +#pragma once +#include "../layer.cuh" +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_ffn.cuh" +#include "../../qgemm/gptq_marlin/gptq_marlin.cuh" +#include "minicpm4_w4a16_gptq_marlin_attn.cuh" + +template <typename T> +struct MiniCPM4W4A16GPTQMarlinLayer { + MiniCPM4W4A16GPTQMarlinAttention<T> *attn; + W4A16GPTQMarlinGatedFFN<T> *ffn; + T* output; + + // marlin for gptq marlin + int intermediate_size; + T* a_tmp; + float* c_tmp; + float residual_scale; + int hidden_size; + + MiniCPM4W4A16GPTQMarlinLayer(int hidden_size, int intermediate_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, int group_size, float residual_scale = 1.0, int sink_window_size = 1, int block_window_size = 32, int sparse_switch = 8192, bool apply_compress_lse = false) { + this->attn = new MiniCPM4W4A16GPTQMarlinAttention<T>(hidden_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, group_size, sink_window_size, block_window_size, sparse_switch, apply_compress_lse); + this->ffn = new W4A16GPTQMarlinGatedFFN<T>(hidden_size, intermediate_size, rms_norm_eps, group_size); + this->hidden_size = hidden_size; + this->intermediate_size = intermediate_size; + this->residual_scale = residual_scale; + } + + void init_weight_ptr(Memory* memory) { + this->attn->init_weight_ptr(memory); + this->ffn->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t a_tmp_offset = memory->allocate((void**)&this->a_tmp, offset, 2* num_tokens * intermediate_size * sizeof(T)); + int reduce_max_m = marlin::determine_reduce_max_m(num_tokens, marlin::max_par); + int reduce_n = 2*intermediate_size; + int64_t c_tmp_offset = memory->allocate((void**)&this->c_tmp, a_tmp_offset, reduce_max_m * reduce_n * sizeof(float)); + + int64_t attn_end = this->attn->init_output_ptr(memory, num_tokens, c_tmp_offset); + int64_t ffn_end = this->ffn->init_output_ptr(memory, num_tokens, c_tmp_offset); + this->output = this->ffn->output; + return std::max(attn_end, ffn_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("attn") != std::string::npos || name.find("input_layernorm") != std::string::npos) { + this->attn->load_to_storage(name, ptr); + } else if (name.find("mlp") != std::string::npos || name.find("post_attention_layernorm") != std::string::npos) { + this->ffn->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(M4Q_PREFILL_ATTN, calc_stream.stream); + this->attn->prefill(calc_stream, num_tokens, num_history_tokens, input, prev_output, position_ids, static_cast<MiniCPM4KVCache<T>*>(kv_cache), a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(M4Q_PREFILL_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(M4Q_PREFILL_FFN, calc_stream.stream); + this->ffn->prefill(calc_stream, num_tokens, input, this->attn->output, a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(M4Q_PREFILL_FFN, calc_stream.stream); + } + + void decode(int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(M4Q_DECODE_ATTN, calc_stream.stream); + this->attn->decode(calc_stream, num_tokens, padded_length, input, prev_output, position_ids, cache_length, mask, static_cast<MiniCPM4KVCache<T>*>(kv_cache), a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(M4Q_DECODE_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(M4Q_DECODE_FFN, calc_stream.stream); + this->ffn->decode(calc_stream, num_tokens, input, this->attn->output, a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(M4Q_DECODE_FFN, calc_stream.stream); + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_model.cuh b/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_model.cuh new file mode 100644 index 00000000..528d94c9 --- /dev/null +++ b/examples/CPM.cu/src/model/minicpm4/minicpm4_w4a16_gptq_marlin_model.cuh @@ -0,0 +1,161 @@ +#pragma once +#include "../model.cuh" +#include "minicpm4_w4a16_gptq_marlin_layer.cuh" +#include "minicpm4_kvcache.cuh" + +template <typename T> +struct MiniCPM4W4A16GPTQMarlinModelImpl : Model { + Memory* memory; + + int vocab_size; + int num_hidden_layers; + int hidden_size; + int intermediate_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + int chunk_length; + + MiniCPM4KVCacheManager<T>* kv_caches; + + Embedding<T>* embedding; + std::vector<MiniCPM4W4A16GPTQMarlinLayer<T>*> layers; + RMSNorm<T>* norm; + LMHead<T>* lm_head; + float residual_scale; + + MiniCPM4W4A16GPTQMarlinModelImpl( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int group_size, + int chunk_length, + float scale_embed = 1.0f, + float scale_lmhead = 1.0f, + float scale_residual = 1.0f, + int sink_window_size = 1, + int block_window_size = 32, + int sparse_topk_k = 32, + int sparse_switch = 8192, + bool apply_compress_lse = false + ) { + this->vocab_size = vocab_size; + this->num_hidden_layers = num_hidden_layers; + this->hidden_size = hidden_size; + this->intermediate_size = intermediate_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->chunk_length = chunk_length; + this->residual_scale = scale_residual; + + memory = new Memory(memory_limit); + + kv_caches = new MiniCPM4KVCacheManager<T>(num_hidden_layers, num_key_value_heads, head_dim, sparse_topk_k, apply_compress_lse); + + embedding = new Embedding<T>(vocab_size, hidden_size, scale_embed); + for (int i = 0; i < num_hidden_layers; i++) { + layers.push_back(new MiniCPM4W4A16GPTQMarlinLayer<T>(hidden_size, intermediate_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, group_size, residual_scale, sink_window_size, block_window_size, sparse_switch, apply_compress_lse)); + } + norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + lm_head = new LMHead<T>(hidden_size, vocab_size, scale_lmhead); + } + + void init_weight_ptr(Memory* memory) { + embedding->init_weight_ptr(memory); + for (int i = 0; i < num_hidden_layers; i++) { + layers[i]->init_weight_ptr(memory); + } + norm->init_weight_ptr(memory); + lm_head->init_weight_ptr(memory); + kv_caches->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t embedding_end = embedding->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < num_hidden_layers; i++) { + layer_end = layers[i]->init_output_ptr(memory, num_tokens, embedding_end); + } + // norm and lm_head are not used in prefill + int64_t norm_end = norm->init_output_ptr(memory, num_tokens, layer_end); + int64_t lm_head_end = lm_head->init_output_ptr(memory, 64, norm_end); + return lm_head_end; + } + + int init_storage() { + init_weight_ptr(memory); + int64_t kv_cache_offset = init_output_ptr(memory, chunk_length, memory->model_offset); + kv_cache_offset = kv_caches->init_output_ptr(memory, chunk_length, kv_cache_offset); + return this->kv_caches->budget; + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 18) == "model.embed_tokens") { + embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 10) == "model.norm") { + norm->load_to_storage(name, ptr); + } else if (name.substr(0, 7) == "lm_head") { + lm_head->load_to_storage(name, ptr); + } else if (name.find("rotary_emb") != std::string::npos) { + kv_caches->rotary_embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 12) == "model.layers") { // e.g. model.layers.20.attn.q_proj.weight + std::regex layer_regex("model\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill_embed(int32_t num_tokens, int32_t num_history_tokens, T* embed, int32_t* position_ids, void* output) { + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->prefill(num_tokens, num_history_tokens, embed, layer_output, position_ids, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, embed, layer_output); + this->lm_head->prefill(calc_stream, 1, this->norm->output + (num_tokens - 1) * hidden_size, (T*)output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + prefill_embed(num_tokens, num_history_tokens, this->embedding->output, position_ids, output); + } + + void decode_embed(int32_t num_tokens, int32_t padded_length, T* embed, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + Mask mask(mask_2d, num_tokens, num_tokens); + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->decode(num_tokens, padded_length, this->embedding->output, layer_output, position_ids, cache_length, mask, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, this->embedding->output, layer_output); + this->lm_head->prefill(calc_stream, num_tokens, this->norm->output, (T*)output); + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + decode_embed(num_tokens, padded_length, this->embedding->output, position_ids, cache_length, mask_2d, output); + } + + void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Draft is not supported"); } + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Verify is not supported"); } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/model.cuh b/examples/CPM.cu/src/model/model.cuh new file mode 100644 index 00000000..68f2ac51 --- /dev/null +++ b/examples/CPM.cu/src/model/model.cuh @@ -0,0 +1,174 @@ +#pragma once +#include "memory.cuh" +#include "embedding.cuh" +#include "norm.cuh" +#include "linear.cuh" +#include "layer.cuh" +#include "kvcache.cuh" +#include "mask.cuh" +#include <algorithm> +#include <cuda_runtime.h> +#include <vector> +#include <regex> + +struct Model { + virtual int init_storage() = 0; + virtual void load_to_storage(std::string name, void* ptr) = 0; + virtual void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) = 0; + virtual void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) = 0; + + virtual void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t* attn_mask, int32_t* tree_parent) = 0; + virtual int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) = 0; + /* verify should find max accept length (based on tree_parent and position_ids) and return, fix kvcache (based on position_ids), and make pred[:accept_length] the accept path (based on attn_mask and position_ids) */ +}; + +template <typename T> +struct ModelImpl : Model { + Memory* memory; + + int vocab_size; + int num_hidden_layers; + int hidden_size; + int intermediate_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + int chunk_length; + + KVCacheManager<T>* kv_caches; + + Embedding<T>* embedding; + std::vector<Layer<T>*> layers; + RMSNorm<T>* norm; + LMHead<T>* lm_head; + float residual_scale; + + ModelImpl( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int chunk_length, + float scale_embed = 1.0f, + float scale_lmhead = 1.0f, + float scale_residual = 1.0f + ) { + this->vocab_size = vocab_size; + this->num_hidden_layers = num_hidden_layers; + this->hidden_size = hidden_size; + this->intermediate_size = intermediate_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->chunk_length = chunk_length; + this->residual_scale = scale_residual; + + memory = new Memory(memory_limit); + + kv_caches = new KVCacheManager<T>(num_hidden_layers, num_key_value_heads, head_dim); + + embedding = new Embedding<T>(vocab_size, hidden_size, scale_embed); + for (int i = 0; i < num_hidden_layers; i++) { + layers.push_back(new Layer<T>(hidden_size, intermediate_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, residual_scale)); + } + norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + lm_head = new LMHead<T>(hidden_size, vocab_size, scale_lmhead); + } + + void init_weight_ptr(Memory* memory) { + embedding->init_weight_ptr(memory); + for (int i = 0; i < num_hidden_layers; i++) { + layers[i]->init_weight_ptr(memory); + } + norm->init_weight_ptr(memory); + lm_head->init_weight_ptr(memory); + kv_caches->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t embedding_end = embedding->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < num_hidden_layers; i++) { + layer_end = layers[i]->init_output_ptr(memory, num_tokens, embedding_end); + } + // norm and lm_head are not used in prefill + int64_t norm_end = norm->init_output_ptr(memory, num_tokens, layer_end); + int64_t lm_head_end = lm_head->init_output_ptr(memory, 64, norm_end); + return lm_head_end; + } + + int init_storage() { + init_weight_ptr(memory); + int64_t kv_cache_offset = init_output_ptr(memory, chunk_length, memory->model_offset); + kv_cache_offset = kv_caches->init_output_ptr(memory, kv_cache_offset); + return this->kv_caches->budget; + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 18) == "model.embed_tokens") { + embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 10) == "model.norm") { + norm->load_to_storage(name, ptr); + } else if (name.substr(0, 7) == "lm_head") { + lm_head->load_to_storage(name, ptr); + } else if (name.find("rotary_emb") != std::string::npos) { + kv_caches->rotary_embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 12) == "model.layers") { // e.g. model.layers.20.attn.q_proj.weight + std::regex layer_regex("model\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Unsupported name (layer_idx not found): " + name); + } + } else { + throw std::invalid_argument("Unsupported name " + name); + } + } + + void prefill_embed(int32_t num_tokens, int32_t num_history_tokens, T* embed, int32_t* position_ids, void* output) { + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->prefill(num_tokens, num_history_tokens, embed, layer_output, position_ids, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, embed, layer_output); + this->lm_head->prefill(calc_stream, 1, this->norm->output + (num_tokens - 1) * hidden_size, (T*)output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + prefill_embed(num_tokens, num_history_tokens, this->embedding->output, position_ids, output); + } + + void decode_embed(int32_t num_tokens, int32_t padded_length, T* embed, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + Mask mask(mask_2d, num_tokens, num_tokens); + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->decode(num_tokens, padded_length, this->embedding->output, layer_output, position_ids, cache_length, mask, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, this->embedding->output, layer_output); + this->lm_head->prefill(calc_stream, num_tokens, this->norm->output, (T*)output); + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + decode_embed(num_tokens, padded_length, this->embedding->output, position_ids, cache_length, mask_2d, output); + } + + void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Draft is not supported"); } + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Verify is not supported"); } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/norm.cuh b/examples/CPM.cu/src/model/norm.cuh new file mode 100644 index 00000000..d953521f --- /dev/null +++ b/examples/CPM.cu/src/model/norm.cuh @@ -0,0 +1,154 @@ +#pragma once +#include <cuda_runtime.h> +#include "../trait.cuh" +#include "../utils.cuh" + +namespace { +template <typename T, typename T2> +__global__ void rms_norm_kernel(int dim, const T2* input, const T2* weight, T2* output, float eps) { + // __shared__ T2 s_input[2048]; + __shared__ float shared_sum; + __shared__ float warp_sum[16]; + int row = blockIdx.x; + int col = threadIdx.x; + float sum1 = 0.0f, sum2 = 0.0f; + for (int i = col; i < dim; i += blockDim.x) { + T2 val = input[row * dim + i]; + // s_input[i] = val; + float val1 = float(val.x); + float val2 = float(val.y); + sum1 += val1 * val1; + sum2 += val2 * val2; + } + float sum = sum1 + sum2; + sum += __shfl_down_sync(0xffffffff, sum, 16); + sum += __shfl_down_sync(0xffffffff, sum, 8); + sum += __shfl_down_sync(0xffffffff, sum, 4); + sum += __shfl_down_sync(0xffffffff, sum, 2); + sum += __shfl_down_sync(0xffffffff, sum, 1); + if (col % 32 == 0) warp_sum[col / 32] = sum; + __syncthreads(); + if (col < 16) { + sum = warp_sum[col]; + sum += __shfl_down_sync(0x0000ffff, sum, 8); + sum += __shfl_down_sync(0x0000ffff, sum, 4); + sum += __shfl_down_sync(0x0000ffff, sum, 2); + sum += __shfl_down_sync(0x0000ffff, sum, 1); + } + if (col == 0) { + shared_sum = rsqrtf(sum / (2*dim) + eps); + } + __syncthreads(); + sum = shared_sum; + for (int i = col; i < dim; i += blockDim.x) { + T2 inp = input[row * dim + i]; + T2 w = weight[i]; + output[row * dim + i] = T2( + T(sum * float(inp.x) * float(w.x)), + T(sum * float(inp.y) * float(w.y)) + ); + } +} + +template <typename T, typename T2> +__global__ void add_and_rms_norm_kernel(int dim, T2* input, const T2* prev_output, const T2* weight, T2* output, float eps) { + // __shared__ T2 s_input[2048]; + __shared__ float shared_sum; + __shared__ float warp_sum[16]; + int row = blockIdx.x; + int col = threadIdx.x; + float sum1 = 0.0f, sum2 = 0.0f; + for (int i = col; i < dim; i += blockDim.x) { + T2 val = input[row * dim + i]; + T2 prev = prev_output[row * dim + i]; + val = val + prev; + input[row * dim + i] = val; + float val1 = float(val.x); + float val2 = float(val.y); + sum1 += val1 * val1; + sum2 += val2 * val2; + } + float sum = sum1 + sum2; + sum += __shfl_down_sync(0xffffffff, sum, 16); + sum += __shfl_down_sync(0xffffffff, sum, 8); + sum += __shfl_down_sync(0xffffffff, sum, 4); + sum += __shfl_down_sync(0xffffffff, sum, 2); + sum += __shfl_down_sync(0xffffffff, sum, 1); + if (col % 32 == 0) warp_sum[col / 32] = sum; + __syncthreads(); + if (col < 16) { + sum = warp_sum[col]; + sum += __shfl_down_sync(0x0000ffff, sum, 8); + sum += __shfl_down_sync(0x0000ffff, sum, 4); + sum += __shfl_down_sync(0x0000ffff, sum, 2); + sum += __shfl_down_sync(0x0000ffff, sum, 1); + } + if (col == 0) { + shared_sum = rsqrtf(sum / (2*dim) + eps); + } + __syncthreads(); + sum = shared_sum; + for (int i = col; i < dim; i += blockDim.x) { + T2 inp = input[row * dim + i]; + T2 w = weight[i]; + output[row * dim + i] = T2( + T(sum * float(inp.x) * float(w.x)), + T(sum * float(inp.y) * float(w.y)) + ); + } +} + +template <typename T> +void rms_norm(const Stream& stream, int num_tokens, int dim, const T* input, const T* weight, T* output, float eps) { + using T2 = typename TypeTraits<T>::half2; + rms_norm_kernel<T, T2><<<num_tokens, 512, 0, stream.stream>>>(dim/2, (T2*)input, (T2*)weight, (T2*)output, eps); +} + +template <typename T> +void add_and_rms_norm(const Stream& stream, int num_tokens, int dim, T* input, const T* prev_output, const T* weight, T* output, float eps) { + using T2 = typename TypeTraits<T>::half2; + add_and_rms_norm_kernel<T, T2><<<num_tokens, 512, 0, stream.stream>>>(dim/2, (T2*)input, (T2*)prev_output, (T2*)weight, (T2*)output, eps); +} +} + +template <typename T> +struct Norm { + T* output; + virtual void init_weight_ptr(Memory* memory) = 0; + virtual int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) = 0; + virtual void load_to_storage(std::string name, void* ptr) = 0; + virtual void prefill(const Stream& stream, int32_t num_tokens, T* input, T* prev_output, T* tgt=nullptr) = 0; +}; + +template <typename T> +struct RMSNorm : Norm<T> { + int dim; + float eps; + T* weight; + + RMSNorm(int dim, float eps) { + this->dim = dim; + this->eps = eps; + } + + void init_weight_ptr(Memory* memory) { + weight = (T*)memory->allocate_for_model(dim * sizeof(T)); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + return memory->allocate((void**)&this->output, offset, num_tokens * dim * sizeof(T)); + } + + void load_to_storage(std::string name, void* ptr) { + cudaMemcpy((void*)weight, ptr, dim * sizeof(T), cudaMemcpyHostToDevice); + } + + void prefill(const Stream& stream, int32_t num_tokens, T* input, T* prev_output, T* tgt=nullptr) { + if (tgt == nullptr) tgt = this->output; + if (prev_output == nullptr) { + rms_norm(stream, num_tokens, this->dim, input, this->weight, tgt, this->eps); + } else { + add_and_rms_norm(stream, num_tokens, this->dim, input, prev_output, this->weight, tgt, this->eps); + } + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/rotary.cuh b/examples/CPM.cu/src/model/rotary.cuh new file mode 100644 index 00000000..431f190d --- /dev/null +++ b/examples/CPM.cu/src/model/rotary.cuh @@ -0,0 +1,68 @@ +#pragma once +#include <cuda_runtime.h> +#include "../utils.cuh" + +namespace { +template<typename T> +__global__ void rotary_embedding_kernel(int num_heads, int num_heads_kv, int half_dim, const float *inv_freq, const int* pos, T* q, T* k) { + int tid = threadIdx.x; + + int p = pos[blockIdx.x]; + + for (int i = tid; i < num_heads * half_dim; i += blockDim.x) { + int row = i / half_dim; + int col = i % half_dim; + int offset = blockIdx.x * num_heads * half_dim * 2 + row * half_dim * 2; + float freq = p * inv_freq[col]; + float cos_freq = cos(freq), sin_freq = sin(freq); + float a = float(q[offset + col]); + float b = float(q[offset + col + half_dim]); + q[offset + col] = T(a * cos_freq - b * sin_freq); + q[offset + col + half_dim] = T(a * sin_freq + b * cos_freq); + } + for (int i = tid; i < num_heads_kv * half_dim; i += blockDim.x) { + int row = i / half_dim; + int col = i % half_dim; + int offset = blockIdx.x * num_heads_kv * half_dim * 2 + row * half_dim * 2; + float freq = p * inv_freq[col]; + float cos_freq = cos(freq), sin_freq = sin(freq); + float a = float(k[offset + col]); + float b = float(k[offset + col + half_dim]); + k[offset + col] = T(a * cos_freq - b * sin_freq); + k[offset + col + half_dim] = T(a * sin_freq + b * cos_freq); + } +} +} + +template<typename T> +void rotary_embedding(const Stream& stream, int num_tokens, int num_heads, int num_heads_kv, int half_dim, const float *inv_freq, const int* pos, T* q, T* k) { + rotary_embedding_kernel<T><<<num_tokens, 512, 0, stream.stream>>>(num_heads, num_heads_kv, half_dim, inv_freq, pos, q, k); +} + +template <typename T> +struct RotaryEmbedding { + int half_dim; + + float *inv_freq; + // float attention_scaling; + + RotaryEmbedding(int head_dim) { + this->half_dim = head_dim / 2; + } + + void init_weight_ptr(Memory* memory) { + this->inv_freq = (float*)memory->allocate_for_model(half_dim * sizeof(float)); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("inv_freq") != std::string::npos) { + cudaMemcpy((void*)inv_freq, ptr, half_dim * sizeof(float), cudaMemcpyHostToDevice); + } else { + throw std::runtime_error("Unsupported rotary embedding weight name: " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, int num_heads, int num_heads_kv, T* q, T* k, int32_t* position_ids) { + rotary_embedding(stream, num_tokens, num_heads, num_heads_kv, this->half_dim, this->inv_freq, position_ids, q, k); + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/spec_quant/w4a16_gm_spec_w4a16_gm.cuh b/examples/CPM.cu/src/model/spec_quant/w4a16_gm_spec_w4a16_gm.cuh new file mode 100644 index 00000000..47c39821 --- /dev/null +++ b/examples/CPM.cu/src/model/spec_quant/w4a16_gm_spec_w4a16_gm.cuh @@ -0,0 +1,247 @@ +#pragma once +#include "../w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh" +#include "../eagle.cuh" +#include "../drafter.cuh" + + +template <typename T> +struct W4A16GMSpecW4A16GMImpl: Model { + + + W4A16GPTQMarlinModelImpl<T>* draft_model; + W4A16GPTQMarlinModelImpl<T>* model; + + // draft args + int32_t *draft_input; + int32_t *draft_position_ids, *draft_cache_length; + int * host_draft_cache_length; + int draft_padded_length; + T* draft_logits; + bool is_first_draft; + functions::TopK<T>* topk_func; + int32_t *draft_tmp; + int32_t *h_best, *d_best; + int num_iter; + int num_prev, num_history_tokens; + + // draft mask always nullptr + uint64_t* draft_mask_2d; + + // graph + bool draft_cuda_graph; + int draft_graphCreated_padding_length; + int draft_graphCreated_input_length; + cudaGraph_t draft_graph; + cudaGraphExec_t draft_graphExec; + + W4A16GMSpecW4A16GMImpl( + W4A16GPTQMarlinModelImpl<T>* model, + int draft_vocab_size, + int draft_num_hidden_layers, + int draft_hidden_size, + int draft_intermediate_size, + int draft_num_attention_heads, + int draft_num_key_value_heads, + int draft_head_dim, + float draft_rms_norm_eps, + int draft_group_size, + int num_iter, + bool draft_cuda_graph + ) { + this->model = model; + this->draft_model = new W4A16GPTQMarlinModelImpl<T>( + 0, + draft_vocab_size, + draft_num_hidden_layers, + draft_hidden_size, + draft_intermediate_size, + draft_num_attention_heads, + draft_num_key_value_heads, + draft_head_dim, + draft_rms_norm_eps, + draft_group_size, + this->model->chunk_length + ); + + this->num_iter = num_iter; + + this->draft_mask_2d = 0; + + + topk_func = new functions::TopK<T>(model->vocab_size, 1); // greedy sample + + this->draft_cuda_graph = draft_cuda_graph; + this->draft_graphCreated_padding_length = -1; + this->draft_graphCreated_input_length = -1; + this->draft_graph = nullptr; + this->draft_graphExec = nullptr; + } + + + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t lm_head_end = this->draft_model->init_output_ptr(memory, num_tokens, offset); + offset = lm_head_end; + + offset = memory->allocate((void**)&draft_input, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&draft_position_ids, offset, num_tokens * sizeof(int32_t)); + offset = memory->allocate((void**)&draft_cache_length, offset, sizeof(int32_t)); + cudaMallocHost(&host_draft_cache_length, sizeof(int32_t)); + + + offset = memory->allocate((void**)&draft_logits, offset, 64 * this->draft_model->vocab_size * sizeof(T)); + offset = topk_func->init_output_ptr(memory, 1, offset); + + offset = memory->allocate((void**)&draft_tmp, offset, 16*sizeof(int32_t)); + offset = memory->allocate((void**)&d_best, offset, sizeof(int32_t)); + cudaMallocHost(&h_best, sizeof(int32_t)); + return offset; + } + + int init_storage() { + this->model->init_weight_ptr(this->model->memory); + // this->init_weight_ptr(this->model->memory); + this->draft_model->init_weight_ptr(this->model->memory); + + int64_t offset = this->model->init_output_ptr(this->model->memory, this->model->chunk_length, this->model->memory->model_offset); + int64_t kv_cache_offset = init_output_ptr(this->model->memory, this->model->chunk_length, offset); + + int model_kv_size = (this->model->num_hidden_layers*this->model->num_key_value_heads*this->model->head_dim); + int draft_kv_size = (this->draft_model->num_hidden_layers*this->draft_model->num_key_value_heads*this->draft_model->head_dim); + float ratio = float(model_kv_size)/float(model_kv_size + draft_kv_size); + kv_cache_offset = this->model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset, ratio); + this->draft_model->kv_caches->init_output_ptr(this->model->memory, kv_cache_offset); + return min(this->draft_model->kv_caches->budget, this->model->kv_caches->budget); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 5) == "draft"){ + std::string draft_name = name.substr(6); + this->draft_model->load_to_storage(draft_name, ptr); + } else { + this->model->load_to_storage(name, ptr); + } + } + + + + void draft_decode_with_graph_control(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + if (this->draft_cuda_graph) { + if (this->draft_graphCreated_padding_length != padded_length || this->draft_graphCreated_input_length != num_tokens) { + if (this->draft_graphExec != nullptr) { + cudaGraphExecDestroy(this->draft_graphExec); + this->draft_graphExec = nullptr; + } + if (this->draft_graph != nullptr) { + cudaGraphDestroy(this->draft_graph); + this->draft_graph = nullptr; + } + cudaStreamBeginCapture(calc_stream.stream, cudaStreamCaptureModeGlobal); + // this->draft_decode(num_tokens, padded_length, output); + this->draft_model->decode(num_tokens, padded_length, input, position_ids, cache_length, mask_2d, output); + cudaStreamEndCapture(calc_stream.stream, &(this->draft_graph)); + cudaGraphInstantiate(&(this->draft_graphExec), this->draft_graph, nullptr, nullptr, 0); + this->draft_graphCreated_padding_length = padded_length; + this->draft_graphCreated_input_length = num_tokens; + } + cudaGraphLaunch(this->draft_graphExec, calc_stream.stream); + } else { + // this->draft_decode(num_tokens, padded_length, output); + this->draft_model->decode(num_tokens, padded_length, input, position_ids, cache_length, mask_2d, output); + } + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->model->prefill(num_tokens, num_history_tokens, input, position_ids, output); + if (num_history_tokens > 0) { + this->draft_model->prefill(this->num_prev, this->num_history_tokens, this->draft_input, this->draft_position_ids, this->draft_logits); + } + + cudaMemcpy(this->draft_input, input, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_position_ids, position_ids, num_tokens * sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev = num_tokens; + this->num_history_tokens = num_history_tokens; + this->is_first_draft = true; + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->model->decode(num_tokens, padded_length, input, position_ids, cache_length, nullptr, output); + } + + void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t*, int32_t*) { + if (this->is_first_draft) { + // append tree draft ids to draft input + cudaMemcpy(this->draft_input+this->num_prev, tree_draft_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_position_ids+this->num_prev, tree_position_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + this->num_prev += 1; + this->draft_model->prefill(this->num_prev, this->num_history_tokens, this->draft_input, this->draft_position_ids, (void*)this->draft_logits); + + + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, 1); + cudaMemcpy(this->draft_position_ids, tree_position_ids, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + // this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128; + this->topk_func->prefill(calc_stream, 1, this->draft_logits); + } else if (this->num_prev == 2){ + // this->draft_decode(this->num_prev, this->draft_padded_length, this->draft_logits); + this->draft_model->decode(this->num_prev, this->draft_padded_length, this->draft_input, this->draft_position_ids, this->draft_cache_length, nullptr, (void*)this->draft_logits); + this->topk_func->prefill(calc_stream, 1, this->draft_logits+(this->draft_model->vocab_size)); + add(calc_stream, 1, this->draft_position_ids, 1); + } else { + // num_prev == 1 + this->draft_decode_with_graph_control(this->num_prev, this->draft_padded_length, this->draft_input, this->draft_position_ids, this->draft_cache_length, nullptr, (void*)this->draft_logits); + this->topk_func->prefill(calc_stream, 1, this->draft_logits); + } + + cudaMemcpy(this->draft_input, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + + + for (int d = 1; d < this->num_iter; ++d){ + add(calc_stream, 1, this->draft_cache_length, 1); + add(calc_stream, 1, this->draft_position_ids, 1); + + this->host_draft_cache_length[0] += 1; + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128;; + this->draft_decode_with_graph_control(1, this->draft_padded_length, this->draft_input, this->draft_position_ids, this->draft_cache_length, nullptr, (void*)this->draft_logits); + this->topk_func->prefill(calc_stream, 1, this->draft_logits); + cudaMemcpy(this->draft_input, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_tmp + d, this->topk_func->topk_pos, sizeof(int32_t), cudaMemcpyDeviceToDevice); + } + + cudaMemcpy(tree_draft_ids + 1, this->draft_tmp, num_iter*sizeof(int32_t), cudaMemcpyDeviceToDevice); + make_arange(calc_stream, this->num_iter+1, cache_length, tree_position_ids); + this->is_first_draft = false; + } + + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) { + verify_seq_draft(calc_stream, num_tokens, pred, gt, (uint16_t*)attn_mask, this->d_best); + cudaMemcpyAsync(this->h_best, this->d_best, 1 * sizeof(int32_t), cudaMemcpyDeviceToHost, calc_stream.stream); + cudaStreamSynchronize(calc_stream.stream); + + if (h_best[0]==(num_iter+1)) { + // full accept + this->num_prev = 2; + cudaMemcpy(this->draft_input, gt + (num_iter-1), 2*sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->h_best[0]+1); + make_arange(calc_stream, 2, cache_length, this->draft_position_ids); + add(calc_stream, 2, this->draft_position_ids, num_iter); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128; + } else { + this->num_prev = 1; + cudaMemcpy(this->draft_input, gt + (this->h_best[0]-1), sizeof(int32_t), cudaMemcpyDeviceToDevice); + cudaMemcpy(this->draft_cache_length, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_cache_length, this->h_best[0]+1); + cudaMemcpy(this->draft_position_ids, cache_length, sizeof(int32_t), cudaMemcpyDeviceToDevice); + add(calc_stream, 1, this->draft_position_ids, this->h_best[0]); + cudaMemcpy(this->host_draft_cache_length, this->draft_cache_length, sizeof(int32_t), cudaMemcpyDeviceToHost); + this->draft_padded_length = (this->host_draft_cache_length[0]+ 128 -1) / 128*128; + } + + return h_best[0]; + + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/topk.cuh b/examples/CPM.cu/src/model/topk.cuh new file mode 100644 index 00000000..b623380a --- /dev/null +++ b/examples/CPM.cu/src/model/topk.cuh @@ -0,0 +1,292 @@ +#pragma once +#include "../utils.cuh" +#include "../trait.cuh" +namespace functions { +namespace { +template<typename T, int N> +static __device__ inline void warpBitonicSort(T& v1, int& pos, bool asc) { + int lane_id = threadIdx.x & (N - 1); + #pragma unroll + for (int k = 2; k <= N; k *= 2) { + bool desc = ((lane_id & k) == 0) ^ asc; + #pragma unroll + for (int j = k / 2; j > 0; j /= 2) { + T v2 = __shfl_xor_sync(0xFFFFFFFF, v1, j); + int pos2 = __shfl_xor_sync(0xFFFFFFFF, pos, j); + bool upper = (lane_id & j) != 0; + if (desc ^ (v1 > v2 || (v1 == v2 && pos < pos2)) ^ upper) { + v1 = v2; + pos = pos2; + } + } + } +} +template<typename T, int N> +static __device__ inline void warpBitonicMerge(T& v1, int& pos1, T& v2, int& pos2) { + if (v1 < v2 || (v1 == v2 && pos1 > pos2)) { + v1 = v2; + pos1 = pos2; + } + int lane_id = threadIdx.x & (N - 1); + // resort + #pragma unroll + for (int j = N / 2; j > 0; j /= 2) { + v2 = __shfl_xor_sync(0xFFFFFFFF, v1, j); + int pos2 = __shfl_xor_sync(0xFFFFFFFF, pos1, j); + bool upper = (lane_id & j) != 0; + if ((v1 < v2 || (v1 == v2 && pos1 > pos2)) ^ upper) { + v1 = v2; + pos1 = pos2; + } + } +} +template<typename T, int N> +static __device__ inline void blockBitonicReduce(T& v, int& pos) { + __shared__ T shared_val[1024]; + __shared__ int shared_pos[1024]; + // block reduce + shared_val[threadIdx.x] = v; + shared_pos[threadIdx.x] = pos; + // inter warp reduce + #pragma unroll + for (int i = 512; i >= 32; i >>= 1) { + if (blockDim.x > i) { + __syncthreads(); + if (threadIdx.x < i) { + int idx_next = (i << 1) - threadIdx.x - 1; + T nw_v = (idx_next < blockDim.x) ? shared_val[idx_next] : T(-TypeTraits<T>::inf()); + int nw_pos = (idx_next < blockDim.x) ? shared_pos[idx_next] : -1; + warpBitonicMerge<T, N>(v, pos, nw_v, nw_pos); // merge and rebuild in desc order + shared_val[threadIdx.x] = v; + shared_pos[threadIdx.x] = pos; + } + } + } + // intra warp reduce + if (threadIdx.x < 32) { + warpBitonicSort<T, 32>(v, pos, false); + } +} +template<typename T, int N> +static __global__ void kernel_bitonic_topk( + int n, int top, + T *inp, // (batch, n) + float *out, // (batch, top) + int *idx // (batch, top) +) { + int offset_inp = blockIdx.x * n; + int offset_out = blockIdx.x * top; + T local_v = threadIdx.x < n ? inp[offset_inp + threadIdx.x] : -TypeTraits<T>::inf(); + int local_pos = threadIdx.x; + warpBitonicSort<T, N>(local_v, local_pos, false); // local sort in desc order + for (int i = blockDim.x; i < n; i += blockDim.x) { + T nw_v = (i + threadIdx.x) < n ? inp[offset_inp + i + threadIdx.x] : -TypeTraits<T>::inf(); + int nw_pos = i + threadIdx.x; + // step.1: local sort + warpBitonicSort<T, N>(nw_v, nw_pos, true); // local sort in asc order + // step.2&3: merge and rebuild + warpBitonicMerge<T, N>(local_v, local_pos, nw_v, nw_pos); // merge and rebuild in desc order + } + blockBitonicReduce<T, N>(local_v, local_pos); + if (threadIdx.x < top) { + out[offset_out + threadIdx.x] = local_v; + idx[offset_out + threadIdx.x] = local_pos; + } +} +// intra-block topk +// gridDim(batch, n / 1024, 1), threadDim(1024, 1, 1) +template<typename T, int N, bool ordered> +static __global__ void kernel_bitonic_topk_multiblock( + int n, + const T *inp, // (batch, n) + const int *idx_inp, // (batch, n) + T *out, // (batch, n / 1024 * N) + int *idx // (batch, n / 1024 * N) +) { + int offset_col = blockIdx.y * blockDim.x + threadIdx.x; + int offset_inp = blockIdx.x * n + offset_col; + int offset_out = blockIdx.x * (gridDim.y * N) + blockIdx.y * N + threadIdx.x; + T local_v = (offset_col < n) ? inp[offset_inp] : T(-TypeTraits<T>::inf()); + int local_pos = (idx_inp == nullptr) ? offset_col : ((offset_col < n) ? idx_inp[offset_inp] : -1); + if (!ordered) warpBitonicSort<T, N>(local_v, local_pos, false); // local sort in desc order + blockBitonicReduce<T, N>(local_v, local_pos); + if (threadIdx.x < N) { + out[offset_out] = local_v; + idx[offset_out] = local_pos; + } +} +// copy kernel +// gridDim(batch, 1, 1), blockDim(top, 1, 1) +template<typename T> +static __global__ void kernel_bitonic_topk_multiblock_copy ( + int n, int top, + const T *inp, // (batch, n) + const int *idx_inp, // (batch, n) + T *out, // (batch, top) + int *idx // (batch, top) +) { + int offset_inp = blockIdx.x * n + threadIdx.x; + int offset_out = blockIdx.x * top + threadIdx.x; + if (threadIdx.x < top) { + out[offset_out] = inp[offset_inp]; + idx[offset_out] = idx_inp[offset_inp]; + } +} +#define TOPK_SIZE_DISPATCH(top, ...) \ + do { \ + const int &top_v = top; \ + if (top_v > 16) { \ + const int top_size = 32; \ + __VA_ARGS__ \ + } else if (top_v > 8) { \ + const int top_size = 16; \ + __VA_ARGS__ \ + } else if (top_v > 4) { \ + const int top_size = 8; \ + __VA_ARGS__ \ + } else if (top_v > 2) { \ + const int top_size = 4; \ + __VA_ARGS__ \ + } else if (top_v > 1) { \ + const int top_size = 2; \ + __VA_ARGS__ \ + } else { \ + const int top_size = 1; \ + __VA_ARGS__ \ + } \ + } while(0) +template <typename T> +void bitonic_topk( + const Stream& stream, + const int batch, + const int n, + const int top, + const T* x, + T* out, + int* pos, + T* buf_val, + int* buf_pos, + T* nw_buf_val, + int* nw_buf_pos +) { + TOPK_SIZE_DISPATCH(top, { + bool first = true; + dim3 blockDim(1024, 1, 1); + unsigned int tmp_n = n; + do { + dim3 gridDim(batch, CEIL_DIV(tmp_n, 1024), 1); + if (first) { + first = false; + kernel_bitonic_topk_multiblock<T, top_size, false><<<gridDim, blockDim, 0, stream.stream>>>( + tmp_n, + x, + nullptr, + buf_val, + buf_pos + ); + } else { + kernel_bitonic_topk_multiblock<T, top_size, false><<<gridDim, blockDim, 0, stream.stream>>>( + tmp_n, + buf_val, + buf_pos, + nw_buf_val, + nw_buf_pos + ); + buf_val = nw_buf_val; + buf_pos = nw_buf_pos; + } + tmp_n = CEIL_DIV(tmp_n, 1024) * top_size; + } while (tmp_n > top_size); + // copy to output tensor + { + dim3 gridDim(batch, 1, 1); + blockDim = dim3(top_size, 1, 1); + kernel_bitonic_topk_multiblock_copy<T><<<gridDim, blockDim, 0, stream.stream>>>( + top_size, top, + buf_val, + buf_pos, + out, + pos + ); + } + }); +} + +template<typename T> +static __global__ void set_topk_to_neg_inf_kernel(int dim, int top, T* x, const int* topk_pos) { + x[blockIdx.x * dim + topk_pos[blockIdx.x * top + threadIdx.x]] = -TypeTraits<T>::inf(); +} +} // namespace + +template<typename T> +void set_topk_to_neg_inf(const Stream& stream, int num_tokens, int dim, int top, int num, T* x, const int* topk_pos) { + set_topk_to_neg_inf_kernel<<<num_tokens, num, 0, stream.stream>>>(dim, top, x, topk_pos); +} + +template <typename T> +struct TopK { +private: + T *buf_val, *nw_buf_val; + int *buf_pos, *nw_buf_pos; +public: + int dim, top; + T* topk_val; + int* topk_pos; + T* tmp_x; + + TopK(const int dim, const int top) { + this->dim = dim; + this->top = top; + } + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + TOPK_SIZE_DISPATCH(top, { + offset = memory->allocate((void**)&buf_val, offset, num_tokens * CEIL_DIV(dim, 1024) * top_size * sizeof(T)); + offset = memory->allocate((void**)&buf_pos, offset, num_tokens * CEIL_DIV(dim, 1024) * top_size * sizeof(int)); + offset = memory->allocate((void**)&nw_buf_val, offset, num_tokens * CEIL_DIV(dim, 1024) * top_size * sizeof(T)); + offset = memory->allocate((void**)&nw_buf_pos, offset, num_tokens * CEIL_DIV(dim, 1024) * top_size * sizeof(int)); + }); + if (top > 32) { // tmp fix + offset = memory->allocate((void**)&tmp_x, offset, num_tokens * dim * sizeof(T)); + } + offset = memory->allocate((void**)&topk_val, offset, num_tokens * top * sizeof(T)); + offset = memory->allocate((void**)&topk_pos, offset, num_tokens * top * sizeof(int)); + return offset; + } + void prefill( + const Stream& stream, + int num_tokens, + const T* input, + int dim = -1, + int top = -1 + ) { + assert(dim == -1 || dim <= this->dim); + assert(top == -1 || top <= this->top); + if (dim == -1) dim = this->dim; + if (top == -1) top = this->top; + bitonic_topk<T>( + stream, + num_tokens, + dim, top, + input, + this->topk_val, this->topk_pos, + this->buf_val, this->buf_pos, + this->nw_buf_val, this->nw_buf_pos + ); + if (top > 32) { + for (int i = 32; i < top; i += 32) { + cudaMemcpyAsync(this->tmp_x, input, num_tokens * dim * sizeof(T), cudaMemcpyDeviceToDevice, stream.stream); + set_topk_to_neg_inf(stream, num_tokens, dim, top, 32, this->tmp_x, this->topk_pos + (i - 32)); + bitonic_topk<T>( + stream, + num_tokens, + dim, top, + this->tmp_x, + this->topk_val + i, this->topk_pos + i, + this->buf_val, this->buf_pos, + this->nw_buf_val, this->nw_buf_pos + ); + } + } + } +}; +} // namespace functions \ No newline at end of file diff --git a/examples/CPM.cu/src/model/tree_drafter.cuh b/examples/CPM.cu/src/model/tree_drafter.cuh new file mode 100644 index 00000000..4e5e6379 --- /dev/null +++ b/examples/CPM.cu/src/model/tree_drafter.cuh @@ -0,0 +1,111 @@ +#pragma once +#include <cuda_runtime.h> + +namespace { +__global__ void verify_kernel(int num_tokens, int32_t* pred, const int32_t* gt, const int32_t* position_ids, const int32_t* cache_length, const uint64_t* attn_mask, const int32_t* tree_parent, int32_t* d_best) { + int i = threadIdx.x; + + __shared__ uint64_t s_correct_mask[2]; + uint64_t correct_mask = 1; + if (0 < i && i < num_tokens && pred[i] == gt[tree_parent[i]]) correct_mask |= 1ULL << i; + correct_mask |= __shfl_down_sync(0xffffffff, correct_mask, 16); + correct_mask |= __shfl_down_sync(0xffffffff, correct_mask, 8); + correct_mask |= __shfl_down_sync(0xffffffff, correct_mask, 4); + correct_mask |= __shfl_down_sync(0xffffffff, correct_mask, 2); + correct_mask |= __shfl_down_sync(0xffffffff, correct_mask, 1); + if (i % 32 == 0) s_correct_mask[i / 32] = correct_mask; + __syncthreads(); + if (i == 0) s_correct_mask[0] |= s_correct_mask[1]; + __syncthreads(); + correct_mask = s_correct_mask[0]; + + __shared__ int32_t mx[64], mx_idx[64]; + int prefix_length = cache_length[0]; + if (i < num_tokens && ((correct_mask & attn_mask[i]) == attn_mask[i])) { + mx[i] = position_ids[i] - prefix_length + 1; mx_idx[i] = i; + } else { + mx[i] = 1; mx_idx[i] = 0; + } + __syncthreads(); + for (int offset = 32; offset > 0; offset >>= 1) { + if (i < offset && mx[i + offset] > mx[i]) { + mx[i] = mx[i + offset]; + mx_idx[i] = mx_idx[i + offset]; + } + __syncthreads(); + } + if (i == 0) { + d_best[0] = mx[0]; d_best[1] = mx_idx[0]; + } + __syncthreads(); + + int p = mx_idx[0]; + if (i < num_tokens && (attn_mask[p] >> i & 1)) { + pred[position_ids[i] - prefix_length] = i; + } +} + +template<typename T> +__global__ void fix_kvcache_kernel_1(int num_caches, int dim, int32_t* pred, const int32_t* gt, const int32_t* cache_length, const T* const* flat_caches, float4* tmp_kvcache) { + int i = blockIdx.x; + int j = threadIdx.x; + int k = blockIdx.y; + int prefix_length = cache_length[0]; + int real_i = pred[i] + prefix_length; + float4* tmp = tmp_kvcache + i * num_caches * dim; + const float4* flat = (const float4*)flat_caches[k]; + for (int d = j; d < dim; d += blockDim.x) { + tmp[k * dim + d] = flat[real_i * dim + d]; + } +} + +template<typename T> +__global__ void fix_kvcache_kernel_2(int num_caches, int dim, int32_t* pred, const int32_t* gt, const int32_t* cache_length, T** flat_caches, const float4* tmp_kvcache) { + int i = blockIdx.x; + int j = threadIdx.x; + int k = blockIdx.y; + int prefix_length = cache_length[0]; + int real_i = i + prefix_length; + const float4* tmp = tmp_kvcache + i * num_caches * dim; + float4* flat = (float4*)flat_caches[k]; + for (int d = j; d < dim; d += blockDim.x) { + flat[real_i * dim + d] = tmp[k * dim + d]; + } + if (j == 0 && k == 0) { + pred[i] = gt[pred[i]]; + } +} + +template<typename T> +__global__ void remap_copy_kernel(int32_t dim, const T* src, T* dst, const int32_t* token_id_remap) { + int row = blockIdx.x; + int real_row = token_id_remap[row]; + for (int i = threadIdx.x; i < dim; i += blockDim.x) { + dst[row * dim + i] = src[real_row * dim + i]; + } +} + +__global__ void remap_kernel(int32_t num_tokens, const int32_t* input, int32_t* output, const int32_t* token_id_remap) { + output[threadIdx.x] = token_id_remap[input[threadIdx.x]]; +} +} + +void verify_draft(const Stream& stream, int num_tokens, int32_t* pred, const int32_t* gt, const int32_t* position_ids, const int32_t* cache_length, const uint64_t* attn_mask, const int32_t* tree_parent, int32_t* best) { + verify_kernel<<<1, 64, 0, stream.stream>>>(num_tokens, pred, gt, position_ids, cache_length, attn_mask, tree_parent, best); +} + +template<typename T> +void fix_kv_cache(const Stream& stream, int accept_length, int num_caches, int dim, int32_t* pred, const int32_t* gt, const int32_t* cache_length, T** flat_caches, T* tmp_kvcache) { + fix_kvcache_kernel_1<T><<<dim3(accept_length, num_caches, 1), 256, 0, stream.stream>>>(num_caches, dim/(16/sizeof(T)), pred, gt, cache_length, flat_caches, (float4*)tmp_kvcache); + fix_kvcache_kernel_2<T><<<dim3(accept_length, num_caches, 1), 256, 0, stream.stream>>>(num_caches, dim/(16/sizeof(T)), pred, gt, cache_length, flat_caches, (float4*)tmp_kvcache); +} + +template<typename T> +void remap_copy(const Stream& stream, const T* src, T* dst, int32_t dim, int32_t num_tokens, const int32_t* token_id_remap) { + dim = dim / (16 / sizeof(T)); + remap_copy_kernel<<<num_tokens, 512, 0, stream.stream>>>(dim, (float4*)src, (float4*)dst, token_id_remap); +} + +void remap(const Stream& stream, int32_t num_tokens, const int32_t* input, int32_t* output, const int32_t* token_id_remap) { + remap_kernel<<<1, num_tokens, 0, stream.stream>>>(num_tokens, input, output, token_id_remap); +} \ No newline at end of file diff --git a/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_attn.cuh b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_attn.cuh new file mode 100644 index 00000000..6b8a78bd --- /dev/null +++ b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_attn.cuh @@ -0,0 +1,178 @@ +#pragma once +#include "../attn.cuh" +#include "w4a16_gptq_marlin_linear.cuh" + + +template <typename T> +struct W4A16GPTQMarlinAttention { + int hidden_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + Norm<T> *attn_norm; + W4A16GPTQMarlinLinear<T> *qkv_proj; + W4A16GPTQMarlinLinear<T> *o_proj; + T* output; + + T* attn_output; + float *softmax_lse, *softmax_lse_accum, *oaccum; + + int window_size; + + T* q_proj_output, *v_proj_output, *k_proj_output; + T* permute_qkv_output; + + W4A16GPTQMarlinAttention(int hidden_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, int group_size, int window_size = 0) { + this->hidden_size = hidden_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->attn_norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + + this->qkv_proj = new W4A16GPTQMarlinLinear<T>(hidden_size, (num_attention_heads + 2*num_key_value_heads) * head_dim, group_size); + + this->o_proj = new W4A16GPTQMarlinLinear<T>(hidden_size, num_attention_heads * head_dim, group_size); + + this->window_size = window_size; + } + + void init_weight_ptr(Memory* memory) { + this->attn_norm->init_weight_ptr(memory); + this->qkv_proj->init_weight_ptr(memory); + this->o_proj->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t attn_norm_end = this->attn_norm->init_output_ptr(memory, num_tokens, offset); + int64_t qkv_proj_end = this->qkv_proj->init_output_ptr(memory, num_tokens, attn_norm_end); + + this->q_proj_output = this->qkv_proj->output; + this->k_proj_output = this->qkv_proj->output + num_tokens * this->num_attention_heads * this->head_dim; + this->v_proj_output = this->qkv_proj->output + num_tokens * (this->num_attention_heads+this->num_key_value_heads) * this->head_dim; + int64_t qkv_permute_end = memory->allocate((void**)&this->permute_qkv_output, qkv_proj_end, num_tokens * (this->num_attention_heads + 2*this->num_key_value_heads) * this->head_dim * sizeof(T)); + + int64_t attn_output_end = memory->allocate((void**)&this->attn_output, offset, num_tokens * this->num_attention_heads * this->head_dim * sizeof(T)); + int64_t softmax_lse_end = memory->allocate((void**)&this->softmax_lse, qkv_permute_end, num_tokens * this->num_attention_heads * sizeof(float)); + const int max_num_splits = 128; // Maximum number of splits for attention computation + const int max_spec_tree_size = 64; // Maximum size of speculative decoding tree + int64_t softmax_lse_accum_end = memory->allocate((void**)&this->softmax_lse_accum, softmax_lse_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * sizeof(float)); + int64_t oaccum_end = memory->allocate((void**)&this->oaccum, softmax_lse_accum_end, max(max_num_splits * max_spec_tree_size, num_tokens) * this->num_attention_heads * this->head_dim * sizeof(float)); + + int64_t o_proj_end = this->o_proj->init_output_ptr(memory, num_tokens, qkv_permute_end); + this->output = this->o_proj->output; + + return std::max(oaccum_end, o_proj_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("qkv_proj") != std::string::npos) { + this->qkv_proj->load_to_storage(name, ptr); + } else if (name.find("o_proj") != std::string::npos) { + this->o_proj->load_to_storage(name, ptr); + } else if (name.find("input_layernorm") != std::string::npos) { + this->attn_norm->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Attn Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, KVCache<T>* kv_cache, T* a_tmp, float* c_tmp) { + T* k_cache = kv_cache->offset_k(num_history_tokens); + T* v_cache = kv_cache->offset_v(num_history_tokens); + + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + this->qkv_proj->prefill(stream, num_tokens, this->attn_norm->output, a_tmp, c_tmp); + permute(stream, num_tokens, this->num_attention_heads * this->head_dim, this->num_key_value_heads * this->head_dim, this->qkv_proj->output, this->permute_qkv_output); + cudaMemcpy(k_cache, this->permute_qkv_output + num_tokens*this->num_attention_heads*this->head_dim, num_tokens*this->num_key_value_heads*this->head_dim*sizeof(T), cudaMemcpyDeviceToDevice); + cudaMemcpy(v_cache, this->permute_qkv_output + num_tokens*( this->num_attention_heads + this->num_key_value_heads)*this->head_dim, num_tokens*this->num_key_value_heads*this->head_dim*sizeof(T), cudaMemcpyDeviceToDevice); + + + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, this->permute_qkv_output, k_cache, position_ids); + + cuda_perf_start_on_stream_f(Q_PREFILL_ATTN_CORE, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + num_history_tokens+num_tokens, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + this->permute_qkv_output, + kv_cache->k_cache, + kv_cache->v_cache, + nullptr, + Mask(nullptr), + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + nullptr, + this->window_size + ); + cuda_perf_stop_on_stream_f(Q_PREFILL_ATTN_CORE, stream.stream); + + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output, a_tmp, c_tmp); + } + + void decode(const Stream& stream, int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, KVCache<T>* kv_cache, T* a_tmp, float* c_tmp) { + this->attn_norm->prefill(stream, num_tokens, input, prev_output); + T *q, *k, *v; + + if (num_tokens > 1) { + this->qkv_proj->prefill(stream, num_tokens, this->attn_norm->output, a_tmp, c_tmp); + permute(stream, num_tokens, this->num_attention_heads * this->head_dim, this->num_key_value_heads * this->head_dim, this->qkv_proj->output, this->permute_qkv_output); // TODO: Double check + q = this->permute_qkv_output; + } else { + this->qkv_proj->prefill(stream, num_tokens, this->attn_norm->output, a_tmp, c_tmp); + q = this->qkv_proj->output; + } + k = q + num_tokens * this->num_attention_heads * this->head_dim; + v = k + num_tokens * this->num_key_value_heads * this->head_dim; + kv_cache->rotary_embedding->prefill(stream, num_tokens, this->num_attention_heads, this->num_key_value_heads, q, k, position_ids); + + copy_to_kvcache(stream, num_tokens, k, v, kv_cache, cache_length); + + cuda_perf_start_on_stream_f(Q_DECODE_ATTN_CORE, stream.stream); + mha_fwd_kvcache( + TypeTraits<T>::type_code()==1, + 1, + num_tokens, + padded_length, + this->num_attention_heads, + this->num_key_value_heads, + this->head_dim, + q, + kv_cache->k_cache, + kv_cache->v_cache, + cache_length, + mask, + this->attn_output, + this->softmax_lse, + this->softmax_lse_accum, + this->oaccum, + rsqrtf(float(this->head_dim)), + true, + -1, + -1, + 0, + stream.stream, + nullptr, + this->window_size + ); + cuda_perf_stop_on_stream_f(Q_DECODE_ATTN_CORE, stream.stream); + // flash attention and put output to attn_norm->output + this->o_proj->prefill(stream, num_tokens, this->attn_output, a_tmp, c_tmp); + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_ffn.cuh b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_ffn.cuh new file mode 100644 index 00000000..f5e0d06c --- /dev/null +++ b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_ffn.cuh @@ -0,0 +1,70 @@ +#pragma once +#include "../ffn.cuh" +#include "w4a16_gptq_marlin_linear.cuh" +#include "../activation.cuh" +#include <cuda_runtime.h> + + +template <typename T> +struct W4A16GPTQMarlinGatedFFN { + int hidden_size; + int intermediate_size; + float rms_norm_eps; + + Norm<T> *ffn_norm; + W4A16GPTQMarlinLinear<T> *gate_up_proj; + W4A16GPTQMarlinLinear<T> *down_proj; + + T* output; + T* gated_up; + + W4A16GPTQMarlinGatedFFN(int hidden_size, int intermediate_size, float rms_norm_eps, int group_size) { + this->hidden_size = hidden_size; + this->intermediate_size = intermediate_size; + this->rms_norm_eps = rms_norm_eps; + + this->ffn_norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + this->gate_up_proj = new W4A16GPTQMarlinLinear<T>(hidden_size, intermediate_size*2, group_size); + this->down_proj = new W4A16GPTQMarlinLinear<T>(intermediate_size, hidden_size, group_size); + } + + void init_weight_ptr(Memory* memory) { + this->ffn_norm->init_weight_ptr(memory); + this->gate_up_proj->init_weight_ptr(memory); + this->down_proj->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t ffn_norm_end = this->ffn_norm->init_output_ptr(memory, num_tokens, offset); + int64_t gate_up_proj_end = this->gate_up_proj->init_output_ptr(memory, num_tokens, ffn_norm_end); + int64_t gated_up_end = memory->allocate((void**)&this->gated_up, gate_up_proj_end, num_tokens * intermediate_size * sizeof(T)); + int64_t down_proj_end = this->down_proj->init_output_ptr(memory, num_tokens, gated_up_end); + this->output = this->down_proj->output; + return down_proj_end; + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("gate_up_proj") != std::string::npos) { + this->gate_up_proj->load_to_storage(name, ptr); + } else if (name.find("down_proj") != std::string::npos) { + this->down_proj->load_to_storage(name, ptr); + } else if (name.find("post_attention_layernorm") != std::string::npos) { + this->ffn_norm->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("FFN Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, T* input, T* prev_output, T* a_tmp, float* c_tmp) { + this->ffn_norm->prefill(stream, num_tokens, input, prev_output); + + this->gate_up_proj->prefill(stream, num_tokens, this->ffn_norm->output, a_tmp, c_tmp); + gated_silu_interleaved<T>(stream, num_tokens, this->intermediate_size, this->gate_up_proj->output, this->gated_up); + this->down_proj->prefill(stream, num_tokens, this->gated_up, a_tmp, c_tmp); + + } + + void decode(const Stream& stream, int32_t num_tokens, T* input, T* prev_output, T* a_tmp, float* c_tmp) { + prefill(stream, num_tokens, input, prev_output, a_tmp, c_tmp); + } +}; diff --git a/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_layer.cuh b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_layer.cuh new file mode 100644 index 00000000..5ac8c4c8 --- /dev/null +++ b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_layer.cuh @@ -0,0 +1,98 @@ +#pragma once +#include "w4a16_gptq_marlin_attn.cuh" +#include "w4a16_gptq_marlin_ffn.cuh" +#include "../layer.cuh" +#include "../../qgemm/gptq_marlin/gptq_marlin.cuh" + +template <typename T> +struct W4A16GPTQMarlinLayer { + W4A16GPTQMarlinAttention<T> *attn; + W4A16GPTQMarlinGatedFFN<T> *ffn; + T* output; + + // marlin for gptq marlin + int intermediate_size; + T* a_tmp; + float* c_tmp; + float residual_scale; + int hidden_size; + + W4A16GPTQMarlinLayer(int hidden_size, int intermediate_size, int num_attention_heads, int num_key_value_heads, int head_dim, float rms_norm_eps, int group_size, float residual_scale = 1.0f, int window_size = 0) { + this->intermediate_size = intermediate_size; + this->attn = new W4A16GPTQMarlinAttention<T>(hidden_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, group_size, window_size); + this->ffn = new W4A16GPTQMarlinGatedFFN<T>(hidden_size, intermediate_size, rms_norm_eps, group_size); + this->residual_scale = residual_scale; + this->hidden_size = hidden_size; + } + + void init_weight_ptr(Memory* memory) { + this->attn->init_weight_ptr(memory); + this->ffn->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t a_tmp_offset = memory->allocate((void**)&this->a_tmp, offset, 2* num_tokens * intermediate_size * sizeof(T)); + int reduce_max_m = marlin::determine_reduce_max_m(num_tokens, marlin::max_par); + int reduce_n = 2*intermediate_size; + int64_t c_tmp_offset = memory->allocate((void**)&this->c_tmp, a_tmp_offset, reduce_max_m * reduce_n * sizeof(float)); + + int64_t attn_end = this->attn->init_output_ptr(memory, num_tokens, c_tmp_offset); + int64_t ffn_end = this->ffn->init_output_ptr(memory, num_tokens, c_tmp_offset); + this->output = this->ffn->output; + return std::max(attn_end, ffn_end); + } + + void load_to_storage(std::string name, void* ptr) { + if (name.find("attn") != std::string::npos || name.find("input_layernorm") != std::string::npos) { + this->attn->load_to_storage(name, ptr); + } else if (name.find("mlp") != std::string::npos || name.find("post_attention_layernorm") != std::string::npos) { + this->ffn->load_to_storage(name, ptr); + } else { + throw std::invalid_argument("Layer Unsupported name " + name); + } + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, T* input, T* prev_output, int32_t* position_ids, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(Q_PREFILL_ATTN, calc_stream.stream); + this->attn->prefill(calc_stream, num_tokens, num_history_tokens, input, prev_output, position_ids, kv_cache, a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(Q_PREFILL_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(Q_PREFILL_FFN, calc_stream.stream); + this->ffn->prefill(calc_stream, num_tokens, input, this->attn->output, a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(Q_PREFILL_FFN, calc_stream.stream); + } + + void decode(int32_t num_tokens, int32_t padded_length, T* input, T* prev_output, int32_t* position_ids, int32_t* cache_length, const Mask& mask, KVCache<T>* kv_cache, T* prev_layer_states=nullptr) { + if (prev_output != nullptr) { + elementwise_scale(calc_stream, num_tokens, this->hidden_size, prev_output, this->residual_scale); + } + cuda_perf_start_on_stream_f(Q_DECODE_ATTN, calc_stream.stream); + this->attn->decode(calc_stream, num_tokens, padded_length, input, prev_output, position_ids, cache_length, mask, kv_cache, a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(Q_DECODE_ATTN, calc_stream.stream); + if (prev_layer_states != nullptr) { + cudaMemcpyAsync( + prev_layer_states, // dst + input, // src + num_tokens * this->attn->hidden_size * sizeof(T), + cudaMemcpyDeviceToDevice, + calc_stream.stream + ); + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, this->attn->output, this->residual_scale); + cuda_perf_start_on_stream_f(Q_DECODE_FFN, calc_stream.stream); + this->ffn->decode(calc_stream, num_tokens, input, this->attn->output, a_tmp, c_tmp); + cuda_perf_stop_on_stream_f(Q_DECODE_FFN, calc_stream.stream); + } +}; diff --git a/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_linear.cuh b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_linear.cuh new file mode 100644 index 00000000..99a698d8 --- /dev/null +++ b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_linear.cuh @@ -0,0 +1,143 @@ +#pragma once +#include <cuda_runtime.h> +#include <cublas_v2.h> +#include <cuda_fp16.h> +#include "../linear.cuh" +#include "../../qgemm/gptq_marlin/marlin.cuh" +#include "../../qgemm/gptq_marlin/gptq_marlin.cuh" +#include "../../qgemm/gptq_marlin/core/scalar_type.hpp" + +template <typename T, bool transposed=true, bool has_bias=false> +struct W4A16GPTQMarlinLinear { + int dim_in; + int dim_out; + + T* output; + int32_t* weight; + T* bias; + T* scales; + + // just placeholder + int32_t* qzeros; + int32_t* g_idx; + int32_t* perm; + int32_t* workspace; + + // new added + const vllm::ScalarType weight_scalar_dtype; + bool is_k_full; + bool use_fp32_reduce; // be true is better + + int num_groups; + int group_size; + bool has_act_order; + + + W4A16GPTQMarlinLinear(int dim_in, int dim_out, int group_size) + :weight_scalar_dtype(static_cast<uint8_t>(0), + static_cast<uint8_t>(4), + false, + static_cast<int32_t>(8), + false) // Initialize weight_scalar_dtype in the constructor + { + this->dim_in = dim_in; + this->dim_out = dim_out; + + // place holder + this->qzeros = 0; + this->g_idx = 0; + this->perm = 0; + + this->is_k_full = true; + this->use_fp32_reduce = true; + this->group_size = group_size; + if (this->group_size == 128){ + this->num_groups = (dim_in) / group_size; + } else if (this->group_size == -1){ + this->num_groups = 1; + } else { + throw std::invalid_argument("Unsupported group size"); + } + + this->has_act_order = false; + + } + + void init_weight_ptr(Memory* memory) { + const int w_size = this->dim_in * this->dim_out / 8; + weight = (int32_t*)memory->allocate_for_model(w_size*sizeof(int32_t)); + const int s_size = this->num_groups * this->dim_out ; + scales = (T*)memory->allocate_for_model(s_size * sizeof(T)); + + const int workspace_size = (this->dim_out / 64)*16; + workspace = (int32_t*)memory->allocate_for_model(workspace_size * sizeof(int32_t)); + + if constexpr (has_bias) { + bias = (T*)memory->allocate_for_model(dim_out * sizeof(T)); + } + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t output_offset = memory->allocate((void**)&this->output, offset, num_tokens * dim_out * sizeof(T)); + return output_offset; + } + + + void load_to_storage(std::string name, void* ptr) { + if (name.find("scales") != std::string::npos) { + const int s_size = this->num_groups * this->dim_out; + cudaMemcpy((void*)scales, ptr, s_size*sizeof(T), cudaMemcpyHostToDevice); + } else if (name.find("qweight") != std::string::npos) { + const int w_size = this->dim_in * this->dim_out / 8; + cudaMemcpy((void*)weight, ptr, w_size*sizeof(int32_t), cudaMemcpyHostToDevice); + } else if (name.find("bias") != std::string::npos) { + cudaMemcpy((void*)bias, ptr, dim_out * sizeof(T), cudaMemcpyHostToDevice); + } else { + throw std::invalid_argument("Linear Unsupported name " + name); + } + } + + void prefill(const Stream& stream, int32_t num_tokens, T* input, T* a_tmp, float* c_tmp, T* tgt=nullptr, bool inplace=false) { + T* tgt_temp; + if (tgt == nullptr) { + tgt_temp = this->output; + tgt = tgt_temp; + } else if (inplace && tgt) { + tgt_temp = this->output; + } + else if (!inplace && tgt) { + tgt_temp = tgt; + } + gptq_marlin_gemm<T>( + input, + weight, + scales, + qzeros, + g_idx, + perm, + workspace, + weight_scalar_dtype, + num_tokens, + dim_out, + dim_in, + is_k_full, + false, + use_fp32_reduce, + tgt_temp, + num_groups, + group_size, + 2*dim_out, + has_act_order, + stream.stream, + a_tmp, + c_tmp + ); + + if (inplace) { + elementwise_add<T>(stream, num_tokens, this->dim_out, tgt, tgt_temp, tgt); + } + if constexpr (has_bias) { + batched_add<T>(stream, num_tokens, this->dim_out, tgt, this->bias, tgt); + } + } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh new file mode 100644 index 00000000..5454de0d --- /dev/null +++ b/examples/CPM.cu/src/model/w4a16_gptq_marlin/w4a16_gptq_marlin_model.cuh @@ -0,0 +1,157 @@ +#pragma once +#include "../model.cuh" +#include "w4a16_gptq_marlin_layer.cuh" + + +template <typename T> +struct W4A16GPTQMarlinModelImpl: Model { + Memory* memory; + + int vocab_size; + int num_hidden_layers; + int hidden_size; + int intermediate_size; + int num_attention_heads; + int num_key_value_heads; + int head_dim; + float rms_norm_eps; + + int chunk_length; + + KVCacheManager<T>* kv_caches; + + Embedding<T>* embedding; + std::vector<W4A16GPTQMarlinLayer<T>*> layers; + RMSNorm<T>* norm; + LMHead<T>* lm_head; + float residual_scale; + + + W4A16GPTQMarlinModelImpl( + float memory_limit, + int vocab_size, + int num_hidden_layers, + int hidden_size, + int intermediate_size, + int num_attention_heads, + int num_key_value_heads, + int head_dim, + float rms_norm_eps, + int group_size, + int chunk_length, + float scale_embed = 1.0f, + float scale_lmhead = 1.0f, + float scale_residual = 1.0f + ) { + this->vocab_size = vocab_size; + this->num_hidden_layers = num_hidden_layers; + this->hidden_size = hidden_size; + this->intermediate_size = intermediate_size; + this->num_attention_heads = num_attention_heads; + this->num_key_value_heads = num_key_value_heads; + this->head_dim = head_dim; + this->rms_norm_eps = rms_norm_eps; + + this->chunk_length = chunk_length; + this->residual_scale = scale_residual; + + memory = new Memory(memory_limit); + + kv_caches = new KVCacheManager<T>(num_hidden_layers, num_key_value_heads, head_dim); + + embedding = new Embedding<T>(vocab_size, hidden_size, scale_embed); + for (int i = 0; i < num_hidden_layers; i++) { + layers.push_back(new W4A16GPTQMarlinLayer<T>(hidden_size, intermediate_size, num_attention_heads, num_key_value_heads, head_dim, rms_norm_eps, group_size, residual_scale)); + } + norm = new RMSNorm<T>(hidden_size, rms_norm_eps); + lm_head = new LMHead<T>(hidden_size, vocab_size, scale_lmhead); + } + + void init_weight_ptr(Memory* memory) { + embedding->init_weight_ptr(memory); + for (int i = 0; i < num_hidden_layers; i++) { + layers[i]->init_weight_ptr(memory); + } + norm->init_weight_ptr(memory); + lm_head->init_weight_ptr(memory); + kv_caches->init_weight_ptr(memory); + } + + int64_t init_output_ptr(Memory* memory, int32_t num_tokens, int64_t offset) { + int64_t embedding_end = embedding->init_output_ptr(memory, num_tokens, offset); + int64_t layer_end = 0; + for (int i = 0; i < num_hidden_layers; i++) { + layer_end = layers[i]->init_output_ptr(memory, num_tokens, embedding_end); + } + // norm and lm_head are not used in prefill + int64_t norm_end = norm->init_output_ptr(memory, num_tokens, layer_end); + int64_t lm_head_end = lm_head->init_output_ptr(memory, 64, norm_end); + return lm_head_end; + } + + int init_storage() { + init_weight_ptr(memory); + int64_t kv_cache_offset = init_output_ptr(memory, chunk_length, memory->model_offset); + kv_cache_offset = kv_caches->init_output_ptr(memory, kv_cache_offset); + return this->kv_caches->budget; + } + + void load_to_storage(std::string name, void* ptr) { + if (name.substr(0, 18) == "model.embed_tokens") { + embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 10) == "model.norm") { + norm->load_to_storage(name, ptr); + } else if (name.substr(0, 7) == "lm_head") { + lm_head->load_to_storage(name, ptr); + } else if (name.find("rotary_emb") != std::string::npos) { + kv_caches->rotary_embedding->load_to_storage(name, ptr); + } else if (name.substr(0, 12) == "model.layers") { // e.g. model.layers.20.attn.q_proj.weight + std::regex layer_regex("model\\.layers\\.(\\d+)\\.(.*)"); + std::smatch matches; + if (std::regex_search(name, matches, layer_regex)) { + int layer_idx = std::stoi(matches[1]); + layers[layer_idx]->load_to_storage(matches[2], ptr); + } else { + throw std::invalid_argument("Model Layer Unsupported name (layer_idx not found): " + name); + } + } else { + throw std::invalid_argument("Model Unsupported name " + name); + } + } + + void prefill_embed(int32_t num_tokens, int32_t num_history_tokens, T* embed, int32_t* position_ids, void* output) { + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->prefill(num_tokens, num_history_tokens, embed, layer_output, position_ids, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, embed, layer_output); + this->lm_head->prefill(calc_stream, 1, this->norm->output + (num_tokens - 1) * hidden_size, (T*)output); + } + + void prefill(int32_t num_tokens, int32_t num_history_tokens, int32_t* input, int32_t* position_ids, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + prefill_embed(num_tokens, num_history_tokens, this->embedding->output, position_ids, output); + } + + void decode_embed(int32_t num_tokens, int32_t padded_length, T* embed, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + Mask mask(mask_2d, num_tokens, num_tokens); + T* layer_output = nullptr; + for (int i = 0; i < num_hidden_layers; i++) { + this->layers[i]->decode(num_tokens, padded_length, this->embedding->output, layer_output, position_ids, cache_length, mask, this->kv_caches->caches[i]); + layer_output = this->layers[i]->output; + } + elementwise_scale(calc_stream, num_tokens, this->hidden_size, layer_output, this->residual_scale); + this->norm->prefill(calc_stream, num_tokens, this->embedding->output, layer_output); + this->lm_head->prefill(calc_stream, num_tokens, this->norm->output, (T*)output); + } + + void decode(int32_t num_tokens, int32_t padded_length, int32_t* input, int32_t* position_ids, int32_t* cache_length, uint64_t* mask_2d, void* output) { + this->embedding->prefill(calc_stream, num_tokens, input); + decode_embed(num_tokens, padded_length, this->embedding->output, position_ids, cache_length, mask_2d, output); + } + + void draft(int32_t *tree_draft_ids, int32_t *tree_position_ids, int32_t *cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Draft is not supported"); } + int verify(int32_t num_tokens, int32_t* pred, int32_t* gt, int32_t* position_ids, int32_t* cache_length, uint64_t* attn_mask, int32_t* tree_parent) { throw std::runtime_error("Verify is not supported"); } +}; \ No newline at end of file diff --git a/examples/CPM.cu/src/perf.cu b/examples/CPM.cu/src/perf.cu new file mode 100644 index 00000000..7b70f5e9 --- /dev/null +++ b/examples/CPM.cu/src/perf.cu @@ -0,0 +1,9 @@ +#include <string> +#include <unordered_map> +#include "perf.cuh" + +// 全局统一性能数据存储的实现 +std::unordered_map<std::string, PerfData>& get_perf_data() { + static std::unordered_map<std::string, PerfData> g_perf_data; + return g_perf_data; +} diff --git a/examples/CPM.cu/src/perf.cuh b/examples/CPM.cu/src/perf.cuh new file mode 100644 index 00000000..86a59ff0 --- /dev/null +++ b/examples/CPM.cu/src/perf.cuh @@ -0,0 +1,291 @@ +#ifndef PERF_H +#define PERF_H + +#include <string> +#include <unordered_map> +#include <chrono> +#include <iostream> +#include <iomanip> +#include <cmath> // For std::isnan + +#ifdef __CUDACC__ +#include <cuda_runtime.h> +#include <cuda_profiler_api.h> +#endif + +// #define ENABLE_PERF +// 性能测量开关,可以通过编译时定义ENABLE_PERF来启用 +#ifdef ENABLE_PERF +#define PERF_ENABLED 1 +#else +#define PERF_ENABLED 0 +#endif + +struct PerfData { + std::chrono::high_resolution_clock::time_point start_time; + double total_time = 0.0; + int count = 0; + bool is_running = false; + std::string type = "CPU"; // "CPU" 或 "CUDA" + +#ifdef __CUDACC__ + cudaEvent_t start_event; + cudaEvent_t stop_event; + bool events_created = false; + + ~PerfData() { + if (events_created) { + cudaEventDestroy(start_event); + cudaEventDestroy(stop_event); + } + } +#endif +}; + +#if PERF_ENABLED + +// 前向声明 - 在perf.cpp中实现 +std::unordered_map<std::string, PerfData>& get_perf_data(); + +// 统一初始化性能测量系统 +#define perf_init() \ + do { \ + auto& perf_data = get_perf_data(); \ + for (auto& pair : perf_data) { \ + auto& data = pair.second; \ + if (data.type == "CUDA") { \ + if (data.events_created) { \ + cudaEventDestroy(data.start_event); \ + cudaEventDestroy(data.stop_event); \ + } \ + } \ + } \ + perf_data.clear(); \ + } while(0) + +// CPU性能测量开始 +#define perf_startf(label) \ + do { \ + auto& data = get_perf_data()[#label]; \ + data.type = "CPU"; \ + if (!data.is_running) { \ + data.start_time = std::chrono::high_resolution_clock::now(); \ + data.is_running = true; \ + } \ + } while(0) + +// CPU性能测量停止 +#define perf_stopf(label) \ + do { \ + auto& data = get_perf_data()[#label]; \ + if (data.is_running && data.type == "CPU") { \ + auto end_time = std::chrono::high_resolution_clock::now(); \ + auto duration = std::chrono::duration<double, std::milli>(end_time - data.start_time).count(); \ + data.total_time += duration; \ + data.count++; \ + data.is_running = false; \ + } \ + } while(0) + +#ifdef __CUDACC__ +// CUDA性能测量开始 +#define cuda_perf_startf(label) \ + do { \ + auto& data = get_perf_data()[#label]; \ + data.type = "CUDA"; \ + if (!data.events_created) { \ + cudaEventCreate(&data.start_event); \ + cudaEventCreate(&data.stop_event); \ + data.events_created = true; \ + } \ + if (!data.is_running) { \ + cudaEventRecord(data.start_event); \ + data.is_running = true; \ + } \ + } while(0) + +// CUDA性能测量停止 +#define cuda_perf_stopf(label) \ + do { \ + auto& data = get_perf_data()[#label]; \ + if (data.is_running && data.type == "CUDA" && data.events_created) { \ + cudaEventRecord(data.stop_event); \ + cudaEventSynchronize(data.stop_event); \ + float elapsed_time; \ + cudaEventElapsedTime(&elapsed_time, data.start_event, data.stop_event); \ + data.total_time += elapsed_time; \ + data.count++; \ + data.is_running = false; \ + } \ + } while(0) + +// 获取GPU内存使用情况 +#define cuda_get_memory_usage(free_mem, total_mem) \ + do { \ + size_t free_bytes, total_bytes; \ + cudaMemGetInfo(&free_bytes, &total_bytes); \ + free_mem = free_bytes; \ + total_mem = total_bytes; \ + } while(0) + +// CUDA作用域自动计时器 +#define cuda_perf_scope(label) \ + struct CudaPerfScope_##label { \ + CudaPerfScope_##label() { cuda_perf_startf(label); } \ + ~CudaPerfScope_##label() { cuda_perf_stopf(label); } \ + } cuda_perf_scope_##label + +// 新增: 用于在指定流上进行CUDA性能测量的宏 +#define cuda_perf_start_on_stream_f(label, stream_val) \ + do { \ + auto& data = get_perf_data()[#label]; \ + data.type = "CUDA"; \ + if (!data.events_created) { \ + cudaEventCreate(&data.start_event); \ + cudaEventCreate(&data.stop_event); \ + data.events_created = true; \ + } \ + if (!data.is_running) { \ + cudaEventRecord(data.start_event, stream_val); \ + data.is_running = true; \ + } \ + } while(0) + +#define cuda_perf_stop_on_stream_f(label, stream_val) \ + do { \ + auto& data = get_perf_data()[#label]; \ + if (data.is_running && data.type == "CUDA" && data.events_created) { \ + cudaEventRecord(data.stop_event, stream_val); \ + cudaEventSynchronize(data.stop_event); \ + float elapsed_time; \ + cudaEventElapsedTime(&elapsed_time, data.start_event, data.stop_event); \ + data.total_time += elapsed_time; \ + data.count++; \ + data.is_running = false; \ + } \ + } while(0) + +#define cuda_perf_scope_on_stream(label, stream_val) \ + struct CudaPerfScopeOnStream_##label { \ + cudaStream_t s_val; \ + CudaPerfScopeOnStream_##label(cudaStream_t stream_arg) : s_val(stream_arg) { cuda_perf_start_on_stream_f(label, s_val); } \ + ~CudaPerfScopeOnStream_##label() { cuda_perf_stop_on_stream_f(label, s_val); } \ + } cuda_perf_scope_on_stream_##label(stream_val) + +#else // __CUDACC__ (即没有CUDA支持时) +// 当没有CUDA支持时,CUDA宏变成空操作 +#define cuda_perf_startf(label) do {} while(0) +#define cuda_perf_stopf(label) do {} while(0) +#define cuda_get_memory_usage(free_mem, total_mem) do {} while(0) +#define cuda_perf_scope(label) do {} while(0) +#define cuda_perf_start_on_stream_f(label, stream_val) do {} while(0) +#define cuda_perf_stop_on_stream_f(label, stream_val) do {} while(0) +#define cuda_perf_scope_on_stream(label, stream_val) do {} while(0) + +#endif // __CUDACC__ + +// 统一输出性能统计摘要 +#define perf_summary() \ + do { \ + cudaDeviceSynchronize(); /* 在总结前同步所有CUDA操作 */ \ + auto& perf_data = get_perf_data(); \ + std::cout << "\n=== Performance Summary ===" << std::endl; \ + std::cout << std::left << std::setw(30) << "Label" \ + << std::setw(8) << "Type" \ + << std::setw(8) << "Count" \ + << std::setw(15) << "Total(ms)" \ + << std::setw(15) << "Average(ms)" << std::endl; \ + std::cout << std::string(76, '-') << std::endl; \ + \ + for (auto& pair : perf_data) { \ + const auto& name = pair.first; \ + auto& data = pair.second; \ + if (data.count > 0) { \ + double avg = (data.count > 0) ? (data.total_time / data.count) : 0.0; \ + std::cout << std::left << std::setw(30) << name \ + << std::setw(8) << data.type \ + << std::setw(8) << data.count \ + << std::setw(15) << std::fixed << std::setprecision(3) << data.total_time \ + << std::setw(15) << std::fixed << std::setprecision(3) << avg << std::endl; \ + } \ + } \ + \ + bool has_cuda = false; \ + for (const auto& pair : perf_data) { \ + if (pair.second.type == "CUDA") { \ + has_cuda = true; \ + break; \ + } \ + } \ + \ + if (has_cuda) { \ + size_t free_mem, total_mem; \ + cuda_get_memory_usage(free_mem, total_mem); \ + std::cout << std::string(76, '-') << std::endl; \ + std::cout << "GPU Memory: " << (total_mem - free_mem) / (1024*1024) << "MB used / " \ + << total_mem / (1024*1024) << "MB total" << std::endl; \ + } \ + std::cout << "============================" << std::endl; \ + } while(0) + +// 获取指定标签的总时间(毫秒) +#define perf_get_total_time(label) \ + (get_perf_data().count(#label) ? get_perf_data()[#label].total_time : 0.0) + +// 获取指定标签的平均时间(毫秒) +#define perf_get_avg_time(label) \ + (get_perf_data().count(#label) && get_perf_data()[#label].count > 0 ? \ + get_perf_data()[#label].total_time / get_perf_data()[#label].count : 0.0) + +// 获取指定标签的调用次数 +#define perf_get_count(label) \ + (get_perf_data().count(#label) ? get_perf_data()[#label].count : 0) + +// 重置指定标签的性能数据 +#define perf_reset(label) \ + do { \ + auto& perf_data = get_perf_data(); \ + if (perf_data.count(#label)) { \ + auto& data = perf_data[#label]; \ + if (data.type == "CUDA" && data.events_created) { \ + cudaEventDestroy(data.start_event); \ + cudaEventDestroy(data.stop_event); \ + } \ + perf_data[#label] = PerfData{}; \ + } \ + } while(0) + +// CPU作用域自动计时器(RAII风格) +#define perf_scope(label) \ + struct PerfScope_##label { \ + PerfScope_##label() { perf_startf(label); } \ + ~PerfScope_##label() { perf_stopf(label); } \ + } perf_scope_##label + +#else // PERF_ENABLED (即性能测量被禁用时) + +// 当性能测量被禁用时,所有宏都变成空操作 +#define perf_init() do {} while(0) +#define perf_startf(label) do {} while(0) +#define perf_stopf(label) do {} while(0) +#define perf_summary() do {} while(0) +#define perf_get_total_time(label) 0.0 +#define perf_get_avg_time(label) 0.0 +#define perf_get_count(label) 0 +#define perf_reset(label) do {} while(0) +#define perf_scope(label) do {} while(0) + +// CUDA相关的空操作宏 (因为PERF_ENABLED为false,所有CUDA相关的宏也是空操作) +#define cuda_perf_startf(label) do {} while(0) +#define cuda_perf_stopf(label) do {} while(0) +#define cuda_get_memory_usage(free_mem, total_mem) do {} while(0) +#define cuda_perf_scope(label) do {} while(0) +#define cuda_perf_start_on_stream_f(label, stream_val) do {} while(0) +#define cuda_perf_stop_on_stream_f(label, stream_val) do {} while(0) +#define cuda_perf_scope_on_stream(label, stream_val) do {} while(0) + +#endif // PERF_ENABLED + +#endif // PERF_H + + diff --git a/examples/CPM.cu/src/qgemm/gptq_marlin/core/scalar_type.hpp b/examples/CPM.cu/src/qgemm/gptq_marlin/core/scalar_type.hpp new file mode 100644 index 00000000..5ad89899 --- /dev/null +++ b/examples/CPM.cu/src/qgemm/gptq_marlin/core/scalar_type.hpp @@ -0,0 +1,348 @@ +#pragma once + +// For TORCH_CHECK +#include <torch/library.h> +#include <variant> + +namespace vllm { + +// +// ScalarType can represent a wide range of floating point and integer types, +// in particular it can be used to represent sub-byte data types (something +// that torch.dtype currently does not support). +// +// The type definitions on the Python side can be found in: vllm/scalar_type.py +// these type definitions should be kept up to date with any Python API changes +// here. +// +class ScalarType { + public: + enum NanRepr : uint8_t { + NAN_NONE = 0, // nans are not supported + NAN_IEEE_754 = 1, // nans are: exp all 1s, mantissa not all 0s + NAN_EXTD_RANGE_MAX_MIN = 2, // nans are: exp all 1s, mantissa all 1s + + NAN_REPR_ID_MAX + }; + + constexpr ScalarType(uint8_t exponent, uint8_t mantissa, bool signed_, + int32_t bias, bool finite_values_only = false, + NanRepr nan_repr = NAN_IEEE_754) + : exponent(exponent), + mantissa(mantissa), + signed_(signed_), + bias(bias), + finite_values_only(finite_values_only), + nan_repr(nan_repr){}; + + static constexpr ScalarType int_(uint8_t size_bits, int32_t bias = 0) { + return ScalarType(0, size_bits - 1, true, bias); + } + + static constexpr ScalarType uint(uint8_t size_bits, int32_t bias = 0) { + return ScalarType(0, size_bits, false, bias); + } + + // IEEE 754 compliant floating point type + static constexpr ScalarType float_IEEE754(uint8_t exponent, + uint8_t mantissa) { + TORCH_CHECK(mantissa > 0 && exponent > 0); + return ScalarType(exponent, mantissa, true, 0, false, NAN_IEEE_754); + } + + // IEEE 754 non-compliant floating point type + static constexpr ScalarType float_(uint8_t exponent, uint8_t mantissa, + bool finite_values_only, + NanRepr nan_repr) { + TORCH_CHECK(nan_repr < NAN_REPR_ID_MAX, "Invalid NanRepr"); + TORCH_CHECK(mantissa > 0 && exponent > 0); + TORCH_CHECK(nan_repr != NAN_IEEE_754, + "use `float_IEEE754` constructor for floating point types that " + "follow IEEE 754 conventions"); + return ScalarType(exponent, mantissa, true, 0, finite_values_only, + nan_repr); + } + + uint8_t const exponent; // size of the exponent field (0 for integer types) + uint8_t const mantissa; // size of the mantissa field (size of the integer + // excluding the sign bit for integer types) + bool const signed_; // flag if the type supports negative numbers (i.e. has a + // sign bit) + int32_t const bias; // stored values equal value + bias, + // used for quantized type + + // Extra Floating point info + bool const finite_values_only; // i.e. no +/-inf if true + NanRepr const nan_repr; // how NaNs are represented + // (not applicable for integer types) + + using Id = int64_t; + + private: + // Field size in id + template <typename T_> + static constexpr size_t member_id_field_width() { + using T = std::decay_t<T_>; + return std::is_same_v<T, bool> ? 1 : sizeof(T) * 8; + } + + template <typename Fn, typename Init, typename Member, typename... Rest> + static constexpr auto reduce_members_helper(Fn f, Init val, Member member, + Rest... rest) { + auto new_val = f(val, member); + if constexpr (sizeof...(rest) > 0) { + return reduce_members_helper(f, new_val, rest...); + } else { + return new_val; + }; + } + + template <typename Fn, typename Init> + constexpr auto reduce_members(Fn f, Init init) const { + // Should be in constructor order for `from_id` + return reduce_members_helper(f, init, exponent, mantissa, signed_, bias, + finite_values_only, nan_repr); + }; + + template <typename Fn, typename Init> + static constexpr auto reduce_member_types(Fn f, Init init) { + constexpr auto dummy_type = ScalarType(0, 0, false, 0, false, NAN_NONE); + return dummy_type.reduce_members(f, init); + }; + + static constexpr auto id_size_bits() { + return reduce_member_types( + [](int acc, auto member) -> int { + return acc + member_id_field_width<decltype(member)>(); + }, + 0); + } + + public: + // unique id for this scalar type that can be computed at compile time for + // c++17 template specialization this is not needed once we migrate to + // c++20 and can pass literal classes as template parameters + constexpr Id id() const { + static_assert(id_size_bits() <= sizeof(Id) * 8, + "ScalarType id is too large to be stored"); + + auto or_and_advance = [](std::pair<Id, uint32_t> result, + auto member) -> std::pair<Id, uint32_t> { + auto [id, bit_offset] = result; + auto constexpr bits = member_id_field_width<decltype(member)>(); + return {id | (int64_t(member) & ((uint64_t(1) << bits) - 1)) + << bit_offset, + bit_offset + bits}; + }; + return reduce_members(or_and_advance, std::pair<Id, uint32_t>{}).first; + } + + // create a ScalarType from an id, for c++17 template specialization, + // this is not needed once we migrate to c++20 and can pass literal + // classes as template parameters + static constexpr ScalarType from_id(Id id) { + auto extract_and_advance = [id](auto result, auto member) { + using T = decltype(member); + auto [tuple, bit_offset] = result; + auto constexpr bits = member_id_field_width<T>(); + auto extracted_val = static_cast<T>((int64_t(id) >> bit_offset) & + ((uint64_t(1) << bits) - 1)); + auto new_tuple = std::tuple_cat(tuple, std::make_tuple(extracted_val)); + return std::pair<decltype(new_tuple), int>{new_tuple, bit_offset + bits}; + }; + + auto [tuple_args, _] = reduce_member_types(extract_and_advance, + std::pair<std::tuple<>, int>{}); + return std::apply([](auto... args) { return ScalarType(args...); }, + tuple_args); + } + + constexpr int64_t size_bits() const { + return mantissa + exponent + is_signed(); + } + constexpr bool is_signed() const { return signed_; } + constexpr bool is_integer() const { return exponent == 0; } + constexpr bool is_floating_point() const { return exponent > 0; } + constexpr bool is_ieee_754() const { + return is_floating_point() && finite_values_only == false && + nan_repr == NAN_IEEE_754; + } + constexpr bool has_nans() const { + return is_floating_point() && nan_repr != NAN_NONE; + } + constexpr bool has_infs() const { + return is_floating_point() && finite_values_only == false; + } + constexpr bool has_bias() const { return bias != 0; } + + private: + double _floating_point_max() const { + TORCH_CHECK(mantissa <= 52 && exponent <= 11, + "Cannot represent max/min as a double for type ", str()); + + uint64_t max_mantissa = (uint64_t(1) << mantissa) - 1; + if (nan_repr == NAN_EXTD_RANGE_MAX_MIN) { + max_mantissa -= 1; + } + + uint64_t max_exponent = (uint64_t(1) << exponent) - 2; + if (nan_repr == NAN_EXTD_RANGE_MAX_MIN || nan_repr == NAN_NONE) { + TORCH_CHECK(exponent < 11, + "Cannot represent max/min as a double for type ", str()); + max_exponent += 1; + } + + // adjust the exponent to match that of a double + // for now we assume the exponent bias is the standard 2^(e-1) -1, (where e + // is the exponent bits), there is some precedent for non-standard biases, + // example `float8_e4m3b11fnuz` here: https://github.com/jax-ml/ml_dtypes + // but to avoid premature over complication we are just assuming the + // standard exponent bias until there is a need to support non-standard + // biases + uint64_t exponent_bias = (uint64_t(1) << (exponent - 1)) - 1; + uint64_t exponent_bias_double = (uint64_t(1) << 10) - 1; // double e = 11 + + uint64_t max_exponent_double = + max_exponent - exponent_bias + exponent_bias_double; + + // shift the mantissa into the position for a double and + // the exponent + uint64_t double_raw = + (max_mantissa << (52 - mantissa)) | (max_exponent_double << 52); + + return *reinterpret_cast<double*>(&double_raw); + } + + constexpr std::variant<int64_t, double> _raw_max() const { + if (is_floating_point()) { + return {_floating_point_max()}; + } else { + TORCH_CHECK(size_bits() < 64 || size_bits() == 64 && is_signed(), + "Cannot represent max as a int64_t"); + return {(int64_t(1) << mantissa) - 1}; + } + } + + constexpr std::variant<int64_t, double> _raw_min() const { + if (is_floating_point()) { + TORCH_CHECK(is_signed(), + "We currently assume all floating point types are signed"); + constexpr uint64_t sign_bit_double = (uint64_t(1) << 63); + + double max = _floating_point_max(); + uint64_t max_raw = *reinterpret_cast<uint64_t*>(&max); + uint64_t min_raw = max_raw | sign_bit_double; + return {*reinterpret_cast<double*>(&min_raw)}; + } else { + TORCH_CHECK(!is_signed() || size_bits() <= 64, + "Cannot represent min as a int64_t"); + if (is_signed()) { + // set the top bit to 1 (i.e. INT64_MIN) and the rest to 0 + // then perform an arithmetic shift right to set all the bits above + // (size_bits() - 1) to 1 + return {INT64_MIN >> (64 - size_bits())}; + } else { + return {int64_t(0)}; + } + } + } + + public: + // Max representable value for this scalar type. + // (accounting for bias if there is one) + constexpr std::variant<int64_t, double> max() const { + return std::visit( + [this](auto x) -> std::variant<int64_t, double> { return {x - bias}; }, + _raw_max()); + } + + // Min representable value for this scalar type. + // (accounting for bias if there is one) + constexpr std::variant<int64_t, double> min() const { + return std::visit( + [this](auto x) -> std::variant<int64_t, double> { return {x - bias}; }, + _raw_min()); + } + + std::string str() const { + /* naming generally follows: https://github.com/jax-ml/ml_dtypes + * for floating point types (leading f) the scheme is: + * `float<size_bits>_e<exponent_bits>m<mantissa_bits>[flags]` + * flags: + * - no-flags: means it follows IEEE 754 conventions + * - f: means finite values only (no infinities) + * - n: means nans are supported (non-standard encoding) + * for integer types the scheme is: + * `[u]int<size_bits>[b<bias>]` + * - if bias is not present it means its zero + */ + if (is_floating_point()) { + auto ret = "float" + std::to_string(size_bits()) + "_e" + + std::to_string(exponent) + "m" + std::to_string(mantissa); + if (!is_ieee_754()) { + if (finite_values_only) { + ret += "f"; + } + if (nan_repr != NAN_NONE) { + ret += "n"; + } + } + return ret; + } else { + auto ret = ((is_signed()) ? "int" : "uint") + std::to_string(size_bits()); + if (has_bias()) { + ret += "b" + std::to_string(bias); + } + return ret; + } + } + + constexpr bool operator==(ScalarType const& other) const { + return mantissa == other.mantissa && exponent == other.exponent && + bias == other.bias && signed_ == other.signed_ && + finite_values_only == other.finite_values_only && + nan_repr == other.nan_repr; + } +}; + +using ScalarTypeId = ScalarType::Id; + +// "rust style" names generally following: +// https://github.com/pytorch/pytorch/blob/6d9f74f0af54751311f0dd71f7e5c01a93260ab3/torch/csrc/api/include/torch/types.h#L60-L70 +static inline constexpr auto kS4 = ScalarType::int_(4); +static inline constexpr auto kU4 = ScalarType::uint(4); +static inline constexpr auto kU4B8 = ScalarType::uint(4, 8); +static inline constexpr auto kS8 = ScalarType::int_(8); +static inline constexpr auto kU8 = ScalarType::uint(8); +static inline constexpr auto kU8B128 = ScalarType::uint(8, 128); + +static inline constexpr auto kFE3M2f = + ScalarType::float_(3, 2, true, ScalarType::NAN_NONE); +static inline constexpr auto kFE4M3fn = + ScalarType::float_(4, 3, true, ScalarType::NAN_EXTD_RANGE_MAX_MIN); +static inline constexpr auto kFE5M2 = ScalarType::float_IEEE754(5, 2); +static inline constexpr auto kFE8M7 = ScalarType::float_IEEE754(8, 7); +static inline constexpr auto kFE5M10 = ScalarType::float_IEEE754(5, 10); + +// Fixed width style names, generally following: +// https://github.com/pytorch/pytorch/blob/6d9f74f0af54751311f0dd71f7e5c01a93260ab3/torch/csrc/api/include/torch/types.h#L47-L57 +static inline constexpr auto kInt4 = kS4; +static inline constexpr auto kUint4 = kU4; +static inline constexpr auto kUint4b8 = kU4B8; +static inline constexpr auto kInt8 = kS8; +static inline constexpr auto kUint8 = kU8; +static inline constexpr auto kUint8b128 = kU8B128; + +static inline constexpr auto kFloat6_e3m2f = kFE3M2f; +static inline constexpr auto kFloat8_e4m3fn = kFE4M3fn; +static inline constexpr auto kFloat8_e5m2 = kFE5M2; +static inline constexpr auto kFloat16_e8m7 = kFE8M7; +static inline constexpr auto kFloat16_e5m10 = kFE5M10; + +// colloquial names +static inline constexpr auto kHalf = kFE5M10; +static inline constexpr auto kFloat16 = kHalf; +static inline constexpr auto kBFloat16 = kFE8M7; + +static inline constexpr auto kFloat16Id = kFloat16.id(); +}; // namespace vllm diff --git a/examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cu b/examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cu new file mode 100644 index 00000000..9eab8072 --- /dev/null +++ b/examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cu @@ -0,0 +1,2175 @@ +/* + * Modified by Neural Magic + * Copyright (C) Marlin.2024 Elias Frantar + * + * 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. + */ + +/* + * Adapted from https://github.com/IST-DASLab/marlin + */ + +#include <cuda.h> +#include "marlin.cuh" +#include "marlin_dtypes.cuh" +#include "core/scalar_type.hpp" +#include "gptq_marlin.cuh" + + +#define STATIC_ASSERT_SCALAR_TYPE_VALID(scalar_t) \ + static_assert(std::is_same<scalar_t, half>::value || \ + std::is_same<scalar_t, nv_bfloat16>::value, \ + "only float16 and bfloat16 is supported"); + +template <typename T> +inline std::string str(T x) { + return std::to_string(x); +} + +namespace marlin { + +// m16n8k16 tensor core mma instruction with fp16 inputs and fp32 +// output/accumulation. +template <typename scalar_t> +__device__ inline void mma(const typename ScalarType<scalar_t>::FragA& a_frag, + const typename ScalarType<scalar_t>::FragB& frag_b, + typename ScalarType<scalar_t>::FragC& frag_c) { + const uint32_t* a = reinterpret_cast<const uint32_t*>(&a_frag); + const uint32_t* b = reinterpret_cast<const uint32_t*>(&frag_b); + float* c = reinterpret_cast<float*>(&frag_c); + if constexpr (std::is_same<scalar_t, half>::value) { + asm volatile( + "mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 " + "{%0,%1,%2,%3}, {%4,%5,%6,%7}, {%8,%9}, {%10,%11,%12,%13};\n" + : "=f"(c[0]), "=f"(c[1]), "=f"(c[2]), "=f"(c[3]) + : "r"(a[0]), "r"(a[1]), "r"(a[2]), "r"(a[3]), "r"(b[0]), "r"(b[1]), + "f"(c[0]), "f"(c[1]), "f"(c[2]), "f"(c[3])); + } else if constexpr (std::is_same<scalar_t, nv_bfloat16>::value) { + asm volatile( + "mma.sync.aligned.m16n8k16.row.col.f32.bf16.bf16.f32 " + "{%0,%1,%2,%3}, {%4,%5,%6,%7}, {%8,%9}, {%10,%11,%12,%13};\n" + : "=f"(c[0]), "=f"(c[1]), "=f"(c[2]), "=f"(c[3]) + : "r"(a[0]), "r"(a[1]), "r"(a[2]), "r"(a[3]), "r"(b[0]), "r"(b[1]), + "f"(c[0]), "f"(c[1]), "f"(c[2]), "f"(c[3])); + } else { + STATIC_ASSERT_SCALAR_TYPE_VALID(scalar_t); + } +} + +// Instruction for loading a full 16x16 matrix fragment of operand A from shared +// memory, directly in tensor core layout. +template <typename scalar_t> +__device__ inline void ldsm4(typename ScalarType<scalar_t>::FragA& frag_a, + const void* smem_ptr) { + uint32_t* a = reinterpret_cast<uint32_t*>(&frag_a); + uint32_t smem = static_cast<uint32_t>(__cvta_generic_to_shared(smem_ptr)); + asm volatile("ldmatrix.sync.aligned.m8n8.x4.shared.b16 {%0,%1,%2,%3}, [%4];\n" + : "=r"(a[0]), "=r"(a[1]), "=r"(a[2]), "=r"(a[3]) + : "r"(smem)); +} + +// Lookup-table based 3-input logical operation; explicitly used for +// dequantization as the compiler does not seem to automatically recognize it in +// all cases. +template <int lut> +__device__ inline int lop3(int a, int b, int c) { + int res; + asm volatile("lop3.b32 %0, %1, %2, %3, %4;\n" + : "=r"(res) + : "r"(a), "r"(b), "r"(c), "n"(lut)); + return res; +} + +// Constructs destination register by taking bytes from 2 sources (based on +// mask) +template <int start_byte, int mask> +__device__ inline uint32_t prmt(uint32_t a) { + uint32_t res; + asm volatile("prmt.b32 %0, %1, %2, %3;\n" + : "=r"(res) + : "r"(a), "n"(start_byte), "n"(mask)); + return res; +} + +template <typename scalar_t, vllm::ScalarTypeId w_type_id> +__device__ inline typename ScalarType<scalar_t>::FragB dequant(int q); + +// +// Efficiently dequantize 4bit values packed in an int32 value into a full +// B-fragment of 4 fp16 values. We mostly follow the strategy in the link below, +// with some small changes: +// - FP16: +// https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/cutlass_extensions/include/cutlass_extensions/interleaved_numeric_conversion.h#L215-L287 +// - BF16: +// https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/cutlass_extensions/include/cutlass_extensions/interleaved_numeric_conversion.h#L327-L385 +// +template <> +__device__ inline typename ScalarType<half>::FragB +dequant<half, vllm::kU4B8.id()>(int q) { + const int LO = 0x000f000f; + const int HI = 0x00f000f0; + const int EX = 0x64006400; + // Guarantee that the `(a & b) | c` operations are LOP3s. + int lo = lop3<(0xf0 & 0xcc) | 0xaa>(q, LO, EX); + int hi = lop3<(0xf0 & 0xcc) | 0xaa>(q, HI, EX); + // We want signed int4 outputs, hence we fuse the `-8` symmetric zero point + // directly into `SUB` and `ADD`. + const int SUB = 0x64086408; + const int MUL = 0x2c002c00; + const int ADD = 0xd480d480; + typename ScalarType<half>::FragB frag_b; + frag_b[0] = __hsub2(*reinterpret_cast<half2*>(&lo), + *reinterpret_cast<const half2*>(&SUB)); + frag_b[1] = __hfma2(*reinterpret_cast<half2*>(&hi), + *reinterpret_cast<const half2*>(&MUL), + *reinterpret_cast<const half2*>(&ADD)); + return frag_b; +} + +template <> +__device__ inline typename ScalarType<nv_bfloat16>::FragB +dequant<nv_bfloat16, vllm::kU4B8.id()>(int q) { + static constexpr uint32_t MASK = 0x000f000f; + static constexpr uint32_t EX = 0x43004300; + + // Guarantee that the `(a & b) | c` operations are LOP3s. + + int lo = lop3<(0xf0 & 0xcc) | 0xaa>(q, MASK, EX); + q >>= 4; + int hi = lop3<(0xf0 & 0xcc) | 0xaa>(q, MASK, EX); + + typename ScalarType<nv_bfloat16>::FragB frag_b; + static constexpr uint32_t MUL = 0x3F803F80; + static constexpr uint32_t ADD = 0xC308C308; + + frag_b[0] = __hfma2(*reinterpret_cast<nv_bfloat162*>(&lo), + *reinterpret_cast<const nv_bfloat162*>(&MUL), + *reinterpret_cast<const nv_bfloat162*>(&ADD)); + frag_b[1] = __hfma2(*reinterpret_cast<nv_bfloat162*>(&hi), + *reinterpret_cast<const nv_bfloat162*>(&MUL), + *reinterpret_cast<const nv_bfloat162*>(&ADD)); + return frag_b; +} + +template <> +__device__ inline typename ScalarType<half>::FragB +dequant<half, vllm::kU4.id()>(int q) { + const int LO = 0x000f000f; + const int HI = 0x00f000f0; + const int EX = 0x64006400; + // Guarantee that the `(a & b) | c` operations are LOP3s. + int lo = lop3<(0xf0 & 0xcc) | 0xaa>(q, LO, EX); + int hi = lop3<(0xf0 & 0xcc) | 0xaa>(q, HI, EX); + + const int SUB = 0x64006400; + const int MUL = 0x2c002c00; + const int ADD = 0xd400d400; + typename ScalarType<half>::FragB frag_b; + frag_b[0] = __hsub2(*reinterpret_cast<half2*>(&lo), + *reinterpret_cast<const half2*>(&SUB)); + frag_b[1] = __hfma2(*reinterpret_cast<half2*>(&hi), + *reinterpret_cast<const half2*>(&MUL), + *reinterpret_cast<const half2*>(&ADD)); + return frag_b; +} + +template <> +__device__ inline typename ScalarType<nv_bfloat16>::FragB +dequant<nv_bfloat16, vllm::kU4.id()>(int q) { + static constexpr uint32_t MASK = 0x000f000f; + static constexpr uint32_t EX = 0x43004300; + + // Guarantee that the `(a & b) | c` operations are LOP3s. + + int lo = lop3<(0xf0 & 0xcc) | 0xaa>(q, MASK, EX); + q >>= 4; + int hi = lop3<(0xf0 & 0xcc) | 0xaa>(q, MASK, EX); + + typename ScalarType<nv_bfloat16>::FragB frag_b; + static constexpr uint32_t MUL = 0x3F803F80; + static constexpr uint32_t ADD = 0xC300C300; + + frag_b[0] = __hfma2(*reinterpret_cast<nv_bfloat162*>(&lo), + *reinterpret_cast<const nv_bfloat162*>(&MUL), + *reinterpret_cast<const nv_bfloat162*>(&ADD)); + frag_b[1] = __hfma2(*reinterpret_cast<nv_bfloat162*>(&hi), + *reinterpret_cast<const nv_bfloat162*>(&MUL), + *reinterpret_cast<const nv_bfloat162*>(&ADD)); + return frag_b; +} + +// +// Fast Int8ToFp16/Int8ToBf16: Efficiently dequantize 8bit int values to fp16 or +// bf16 Reference: +// - FP16: +// https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/cutlass_extensions/include/cutlass_extensions/interleaved_numeric_conversion.h#L53-L85 +// - BF16: +// https://github.com/NVIDIA/FasterTransformer/blob/release/v5.3_tag/src/fastertransformer/cutlass_extensions/include/cutlass_extensions/interleaved_numeric_conversion.h#L125-L175 +// +template <> +__device__ inline typename ScalarType<half>::FragB +dequant<half, vllm::kU8B128.id()>(int q) { + static constexpr uint32_t mask_for_elt_01 = 0x5250; + static constexpr uint32_t mask_for_elt_23 = 0x5351; + static constexpr uint32_t start_byte_for_fp16 = 0x64646464; + + uint32_t lo = prmt<start_byte_for_fp16, mask_for_elt_01>(q); + uint32_t hi = prmt<start_byte_for_fp16, mask_for_elt_23>(q); + + static constexpr uint32_t I8s_TO_F16s_MAGIC_NUM = 0x64806480; + + typename ScalarType<half>::FragB frag_b; + frag_b[0] = __hsub2(*reinterpret_cast<half2*>(&lo), + *reinterpret_cast<const half2*>(&I8s_TO_F16s_MAGIC_NUM)); + frag_b[1] = __hsub2(*reinterpret_cast<half2*>(&hi), + *reinterpret_cast<const half2*>(&I8s_TO_F16s_MAGIC_NUM)); + return frag_b; +} + +template <> +__device__ inline typename ScalarType<nv_bfloat16>::FragB +dequant<nv_bfloat16, vllm::kU8B128.id()>(int q) { + typename ScalarType<nv_bfloat16>::FragB frag_b; + + float fp32_intermediates[4]; + uint32_t* fp32_intermediates_casted = + reinterpret_cast<uint32_t*>(fp32_intermediates); + + static constexpr uint32_t fp32_base = 0x4B000000; + fp32_intermediates_casted[0] = __byte_perm(q, fp32_base, 0x7650); + fp32_intermediates_casted[1] = __byte_perm(q, fp32_base, 0x7652); + fp32_intermediates_casted[2] = __byte_perm(q, fp32_base, 0x7651); + fp32_intermediates_casted[3] = __byte_perm(q, fp32_base, 0x7653); + + fp32_intermediates[0] -= 8388736.f; + fp32_intermediates[1] -= 8388736.f; + fp32_intermediates[2] -= 8388736.f; + fp32_intermediates[3] -= 8388736.f; + + uint32_t* bf16_result_ptr = reinterpret_cast<uint32_t*>(&frag_b); + bf16_result_ptr[0] = __byte_perm(fp32_intermediates_casted[0], + fp32_intermediates_casted[1], 0x7632); + bf16_result_ptr[1] = __byte_perm(fp32_intermediates_casted[2], + fp32_intermediates_casted[3], 0x7632); + + return frag_b; +} + +template <> +__device__ inline typename ScalarType<half>::FragB +dequant<half, vllm::kU8.id()>(int q) { + static constexpr uint32_t mask_for_elt_01 = 0x5250; + static constexpr uint32_t mask_for_elt_23 = 0x5351; + static constexpr uint32_t start_byte_for_fp16 = 0x64646464; + + uint32_t lo = prmt<start_byte_for_fp16, mask_for_elt_01>(q); + uint32_t hi = prmt<start_byte_for_fp16, mask_for_elt_23>(q); + + static constexpr uint32_t I8s_TO_F16s_MAGIC_NUM = 0x64006400; + + typename ScalarType<half>::FragB frag_b; + frag_b[0] = __hsub2(*reinterpret_cast<half2*>(&lo), + *reinterpret_cast<const half2*>(&I8s_TO_F16s_MAGIC_NUM)); + frag_b[1] = __hsub2(*reinterpret_cast<half2*>(&hi), + *reinterpret_cast<const half2*>(&I8s_TO_F16s_MAGIC_NUM)); + return frag_b; +} + +template <> +__device__ inline typename ScalarType<nv_bfloat16>::FragB +dequant<nv_bfloat16, vllm::kU8.id()>(int q) { + typename ScalarType<nv_bfloat16>::FragB frag_b; + + float fp32_intermediates[4]; + uint32_t* fp32_intermediates_casted = + reinterpret_cast<uint32_t*>(fp32_intermediates); + + static constexpr uint32_t fp32_base = 0x4B000000; + fp32_intermediates_casted[0] = __byte_perm(q, fp32_base, 0x7650); + fp32_intermediates_casted[1] = __byte_perm(q, fp32_base, 0x7652); + fp32_intermediates_casted[2] = __byte_perm(q, fp32_base, 0x7651); + fp32_intermediates_casted[3] = __byte_perm(q, fp32_base, 0x7653); + + fp32_intermediates[0] -= 8388608.f; + fp32_intermediates[1] -= 8388608.f; + fp32_intermediates[2] -= 8388608.f; + fp32_intermediates[3] -= 8388608.f; + + uint32_t* bf16_result_ptr = reinterpret_cast<uint32_t*>(&frag_b); + bf16_result_ptr[0] = __byte_perm(fp32_intermediates_casted[0], + fp32_intermediates_casted[1], 0x7632); + bf16_result_ptr[1] = __byte_perm(fp32_intermediates_casted[2], + fp32_intermediates_casted[3], 0x7632); + + return frag_b; +} + +// Multiply dequantized values by the corresponding quantization scale; used +// only for grouped quantization. +template <typename scalar_t> +__device__ inline void scale(typename ScalarType<scalar_t>::FragB& frag_b, + typename ScalarType<scalar_t>::FragS& frag_s, + int i) { + using scalar_t2 = typename ScalarType<scalar_t>::scalar_t2; + scalar_t2 s = + ScalarType<scalar_t>::num2num2(reinterpret_cast<scalar_t*>(&frag_s)[i]); + frag_b[0] = __hmul2(frag_b[0], s); + frag_b[1] = __hmul2(frag_b[1], s); +} + +template <typename scalar_t> +__device__ inline void sub_zp(typename ScalarType<scalar_t>::FragB& frag_b, + typename ScalarType<scalar_t>::scalar_t2& frag_zp, + int i) { + using scalar_t2 = typename ScalarType<scalar_t>::scalar_t2; + scalar_t2 zp = + ScalarType<scalar_t>::num2num2(reinterpret_cast<scalar_t*>(&frag_zp)[i]); + frag_b[0] = __hsub2(frag_b[0], zp); + frag_b[1] = __hsub2(frag_b[1], zp); +} + +// Same as above, but for act_order (each K is multiplied individually) +template <typename scalar_t> +__device__ inline void scale4(typename ScalarType<scalar_t>::FragB& frag_b, + typename ScalarType<scalar_t>::FragS& frag_s_1, + typename ScalarType<scalar_t>::FragS& frag_s_2, + typename ScalarType<scalar_t>::FragS& frag_s_3, + typename ScalarType<scalar_t>::FragS& frag_s_4, + int i) { + using scalar_t2 = typename ScalarType<scalar_t>::scalar_t2; + scalar_t2 s_val_1_2; + s_val_1_2.x = reinterpret_cast<scalar_t*>(&frag_s_1)[i]; + s_val_1_2.y = reinterpret_cast<scalar_t*>(&frag_s_2)[i]; + + scalar_t2 s_val_3_4; + s_val_3_4.x = reinterpret_cast<scalar_t*>(&frag_s_3)[i]; + s_val_3_4.y = reinterpret_cast<scalar_t*>(&frag_s_4)[i]; + + frag_b[0] = __hmul2(frag_b[0], s_val_1_2); + frag_b[1] = __hmul2(frag_b[1], s_val_3_4); +} + +// Given 2 floats multiply by 2 scales (halves) +template <typename scalar_t> +__device__ inline void scale_float(float* c, + typename ScalarType<scalar_t>::FragS& s) { + scalar_t* s_ptr = reinterpret_cast<scalar_t*>(&s); + c[0] = __fmul_rn(c[0], ScalarType<scalar_t>::num2float(s_ptr[0])); + c[1] = __fmul_rn(c[1], ScalarType<scalar_t>::num2float(s_ptr[1])); +} + +// Wait until barrier reaches `count`, then lock for current threadblock. +__device__ inline void barrier_acquire(int* lock, int count) { + if (threadIdx.x == 0) { + int state = -1; + do + // Guarantee that subsequent writes by this threadblock will be visible + // globally. + asm volatile("ld.global.acquire.gpu.b32 %0, [%1];\n" + : "=r"(state) + : "l"(lock)); + while (state != count); + } + __syncthreads(); +} + +// Release barrier and increment visitation count. +__device__ inline void barrier_release(int* lock, bool reset = false) { + __syncthreads(); + if (threadIdx.x == 0) { + if (reset) { + lock[0] = 0; + return; + } + int val = 1; + // Make sure that all writes since acquiring this barrier are visible + // globally, while releasing the barrier. + asm volatile("fence.acq_rel.gpu;\n"); + asm volatile("red.relaxed.gpu.global.add.s32 [%0], %1;\n" + : + : "l"(lock), "r"(val)); + } +} + +// For a given "a" of size [M,K] performs a permutation of the K columns based +// on the given "perm" indices. +__global__ void permute_cols_kernel(int4 const* __restrict__ a_int4_ptr, + int const* __restrict__ perm_int_ptr, + int4* __restrict__ out_int4_ptr, int size_m, + int size_k, int block_rows) { + int start_row = block_rows * blockIdx.x; + int finish_row = start_row + block_rows; + if (finish_row > size_m) { + finish_row = size_m; + } + int cur_block_rows = finish_row - start_row; + + int row_stride = size_k * sizeof(half) / 16; + + auto permute_row = [&](int row) { + int iters = size_k / default_threads; + int rest = size_k % default_threads; + + int offset = row * row_stride; + + half const* a_row_half = reinterpret_cast<half const*>(a_int4_ptr + offset); + half* out_half = reinterpret_cast<half*>(out_int4_ptr + offset); + + int base_k = 0; + + for (int i = 0; i < iters; i++) { + int cur_k = base_k + threadIdx.x; + int src_pos = perm_int_ptr[cur_k]; + + out_half[cur_k] = a_row_half[src_pos]; + + base_k += default_threads; + } + + if (rest) { + if (threadIdx.x < rest) { + int cur_k = base_k + threadIdx.x; + int src_pos = perm_int_ptr[cur_k]; + + out_half[cur_k] = a_row_half[src_pos]; + } + } + }; + + for (int i = 0; i < cur_block_rows; i++) { + int cur_row = start_row + i; + if (cur_row < size_m) { + permute_row(cur_row); + } + } +} + +template <typename scalar_t, // compute dtype, half or nv_float16 + const vllm::ScalarTypeId w_type_id, // weight ScalarType id + const int threads, // number of threads in a threadblock + const int thread_m_blocks, // number of 16x16 blocks in the m + // dimension (batchsize) of the + // threadblock + const int thread_n_blocks, // same for n dimension (output) + const int thread_k_blocks, // same for k dimension (reduction) + const int stages, // number of stages for the async global->shared + // fetch pipeline + const bool has_act_order, // whether act_order is enabled + const bool has_zp, // whether zero-points are enabled + const int group_blocks = -1 // number of consecutive 16x16 blocks + // with a separate quantization scale + > +__global__ void Marlin( + const int4* __restrict__ A, // fp16 input matrix of shape mxk + const int4* __restrict__ B, // 4bit quantized weight matrix of shape kxn + int4* __restrict__ C, // fp16 output buffer of shape mxn + int4* __restrict__ C_tmp, // fp32 tmp output buffer (for reduce) + const int4* __restrict__ scales_ptr, // fp16 quantization scales of shape + // (k/groupsize)xn + const int4* __restrict__ zp_ptr, // 4bit packed zero-points of shape + // (k/groupsize)x(n/pack_factor) + const int* __restrict__ g_idx, // int32 group indices of shape k + int num_groups, // number of scale groups per output channel + int prob_m, // batch dimension m + int prob_n, // output dimension n + int prob_k, // reduction dimension k + int* locks, // extra global storage for barrier synchronization + bool use_fp32_reduce // whether to use fp32 global reduce +) { + // Each threadblock processes one "stripe" of the B matrix with (roughly) the + // same size, which might involve multiple column "slices" (of width 16 * + // `thread_n_blocks`). Stripes are defined as shown in the 3x3 matrix 5 SM + // example: + // 0 1 3 + // 0 2 3 + // 1 2 4 + // While this kind of partitioning makes things somewhat more complicated, it + // ensures good utilization of all SMs for many kinds of shape and GPU + // configurations, while requiring as few slow global cross-threadblock + // reductions as possible. + using Dtype = ScalarType<scalar_t>; + using scalar_t2 = typename ScalarType<scalar_t>::scalar_t2; + using FragA = typename ScalarType<scalar_t>::FragA; + using FragB = typename ScalarType<scalar_t>::FragB; + using FragC = typename ScalarType<scalar_t>::FragC; + using FragS = typename ScalarType<scalar_t>::FragS; + using FragZP = typename ScalarType<scalar_t>::FragZP; + + static constexpr auto w_type = vllm::ScalarType::from_id(w_type_id); + + constexpr int pack_factor = 32 / w_type.size_bits(); + + // For larger GEMMs we run multiple batchsize 64 versions in parallel for a + // better partitioning with less reductions + int parallel = 1; + if (prob_m > 16 * thread_m_blocks) { + parallel = prob_m / (16 * thread_m_blocks); + prob_m = 16 * thread_m_blocks; + } + + int k_tiles = prob_k / 16 / thread_k_blocks; + int n_tiles = prob_n / 16 / thread_n_blocks; + int iters = div_ceil(k_tiles * n_tiles * parallel, gridDim.x); + + if constexpr (!has_act_order && group_blocks != -1) { + if (group_blocks >= thread_k_blocks) { + // Ensure that the number of tiles in each stripe is a multiple of the + // groupsize; this avoids an annoying special case where a stripe starts + // in the middle of group. + iters = (group_blocks / thread_k_blocks) * + div_ceil(iters, (group_blocks / thread_k_blocks)); + } + } + + int slice_row = (iters * blockIdx.x) % k_tiles; + int slice_col_par = (iters * blockIdx.x) / k_tiles; + int slice_col = slice_col_par; + int slice_iters; // number of threadblock tiles in the current slice + int slice_count = + 0; // total number of active threadblocks in the current slice + int slice_idx; // index of threadblock in current slice; numbered bottom to + // top + + int par_id = 0; + + // We can easily implement parallel problem execution by just remapping + // indices and advancing global pointers + if (slice_col_par >= n_tiles) { + A += (slice_col_par / n_tiles) * 16 * thread_m_blocks * prob_k / 8; + C += (slice_col_par / n_tiles) * 16 * thread_m_blocks * prob_n / 8; + locks += (slice_col_par / n_tiles) * n_tiles; + slice_col = slice_col_par % n_tiles; + par_id = slice_col_par / n_tiles; + } + + // Compute all information about the current slice which is required for + // synchronization. + auto init_slice = [&]() { + slice_iters = + iters * (blockIdx.x + 1) - (k_tiles * slice_col_par + slice_row); + if (slice_iters < 0 || slice_col_par >= n_tiles * parallel) slice_iters = 0; + if (slice_iters == 0) return; + if (slice_row + slice_iters > k_tiles) slice_iters = k_tiles - slice_row; + slice_count = 1; + slice_idx = 0; + int col_first = iters * div_ceil(k_tiles * slice_col_par, iters); + if (col_first <= k_tiles * (slice_col_par + 1)) { + int col_off = col_first - k_tiles * slice_col_par; + slice_count = div_ceil(k_tiles - col_off, iters); + if (col_off > 0) slice_count++; + int delta_first = iters * blockIdx.x - col_first; + if (delta_first < 0 || (col_off == 0 && delta_first == 0)) + slice_idx = slice_count - 1; + else { + slice_idx = slice_count - 1 - delta_first / iters; + if (col_off > 0) slice_idx--; + } + } + if (slice_col == n_tiles) { + A += 16 * thread_m_blocks * prob_k / 8; + C += 16 * thread_m_blocks * prob_n / 8; + locks += n_tiles; + slice_col = 0; + par_id++; + } + }; + init_slice(); + + // A sizes/strides + + // stride of the A matrix in global memory + int a_gl_stride = prob_k / 8; + // stride of an A matrix tile in shared memory + constexpr int a_sh_stride = 16 * thread_k_blocks / 8; + // delta between subsequent A tiles in global memory + constexpr int a_gl_rd_delta_o = 16 * thread_k_blocks / 8; + // between subsequent accesses within a tile + int a_gl_rd_delta_i = a_gl_stride * (threads / a_gl_rd_delta_o); + // between shared memory writes + constexpr int a_sh_wr_delta = a_sh_stride * (threads / a_gl_rd_delta_o); + // between shared memory tile reads + constexpr int a_sh_rd_delta_o = 2 * ((threads / 32) / (thread_n_blocks / 4)); + // within a shared memory tile + constexpr int a_sh_rd_delta_i = a_sh_stride * 16; + // overall size of a tile + constexpr int a_sh_stage = a_sh_stride * (16 * thread_m_blocks); + // number of shared write iterations for a tile + constexpr int a_sh_wr_iters = div_ceil(a_sh_stage, a_sh_wr_delta); + + // B sizes/strides + int b_gl_stride = 16 * prob_n / (pack_factor * 4); + constexpr int b_sh_stride = ((thread_n_blocks * 16) * 16 / pack_factor) / 4; + constexpr int b_thread_vecs = w_type.size_bits() == 4 ? 1 : 2; + constexpr int b_sh_stride_threads = b_sh_stride / b_thread_vecs; + + int b_gl_rd_delta_o = b_gl_stride * thread_k_blocks; + int b_gl_rd_delta_i = b_gl_stride * (threads / b_sh_stride_threads); + constexpr int b_sh_wr_delta = threads * b_thread_vecs; + constexpr int b_sh_rd_delta = threads * b_thread_vecs; + constexpr int b_sh_stage = b_sh_stride * thread_k_blocks; + constexpr int b_sh_wr_iters = b_sh_stage / b_sh_wr_delta; + + // Scale sizes/strides without act_order + int s_gl_stride = prob_n / 8; + constexpr int s_sh_stride = 16 * thread_n_blocks / 8; + constexpr int s_tb_groups = + !has_act_order && group_blocks != -1 && group_blocks < thread_k_blocks + ? thread_k_blocks / group_blocks + : 1; + constexpr int s_sh_stage = s_tb_groups * s_sh_stride; + int s_gl_rd_delta = s_gl_stride; + + // Scale size/strides with act_order + constexpr int tb_k = 16 * thread_k_blocks; + constexpr int g_idx_stage = has_act_order ? (tb_k * sizeof(int)) / 16 : 0; + // constexpr int act_s_row_stride = 1; + // int act_s_col_stride = act_s_row_stride * num_groups; + int act_s_col_stride = 1; + int act_s_col_warp_stride = act_s_col_stride * 8; + int tb_n_warps = thread_n_blocks / 4; + int act_s_col_tb_stride = act_s_col_warp_stride * tb_n_warps; + + // Zero-points sizes/strides + int zp_gl_stride = (prob_n / pack_factor) / 4; + constexpr int zp_sh_stride = ((16 * thread_n_blocks) / pack_factor) / 4; + constexpr int zp_tb_groups = s_tb_groups; + constexpr int zp_sh_stage = has_zp ? zp_tb_groups * zp_sh_stride : 0; + int zp_gl_rd_delta = zp_gl_stride; + + // Global A read index of current thread. + int a_gl_rd = a_gl_stride * (threadIdx.x / a_gl_rd_delta_o) + + (threadIdx.x % a_gl_rd_delta_o); + a_gl_rd += a_gl_rd_delta_o * slice_row; + // Shared write index of current thread. + int a_sh_wr = a_sh_stride * (threadIdx.x / a_gl_rd_delta_o) + + (threadIdx.x % a_gl_rd_delta_o); + // Shared read index. + int a_sh_rd = + a_sh_stride * ((threadIdx.x % 32) % 16) + (threadIdx.x % 32) / 16; + a_sh_rd += 2 * ((threadIdx.x / 32) / (thread_n_blocks / 4)); + + int b_gl_rd = b_gl_stride * (threadIdx.x / b_sh_stride_threads) + + (threadIdx.x % b_sh_stride_threads) * b_thread_vecs; + b_gl_rd += b_sh_stride * slice_col; + b_gl_rd += b_gl_rd_delta_o * slice_row; + int b_sh_wr = threadIdx.x * b_thread_vecs; + int b_sh_rd = threadIdx.x * b_thread_vecs; + + // For act_order + constexpr int k_iter_size = tb_k / b_sh_wr_iters; + int slice_k_start = tb_k * slice_row; + int slice_k_finish = slice_k_start + tb_k * slice_iters; + int slice_k_start_shared_fetch = slice_k_start; + int slice_n_offset = act_s_col_tb_stride * slice_col; + + // No act_order + int s_gl_rd; + if constexpr (!has_act_order) { + if constexpr (group_blocks == -1) { + s_gl_rd = s_sh_stride * slice_col + threadIdx.x; + } else { + s_gl_rd = s_gl_stride * ((thread_k_blocks * slice_row) / group_blocks) + + s_sh_stride * slice_col + threadIdx.x; + } + } + int s_sh_wr = threadIdx.x; + bool s_sh_wr_pred = threadIdx.x < s_sh_stride; + + // Zero-points + int zp_gl_rd; + if constexpr (has_zp) { + if constexpr (group_blocks == -1) { + zp_gl_rd = zp_sh_stride * slice_col + threadIdx.x; + } else { + zp_gl_rd = zp_gl_stride * ((thread_k_blocks * slice_row) / group_blocks) + + zp_sh_stride * slice_col + threadIdx.x; + } + } + int zp_sh_wr = threadIdx.x; + bool zp_sh_wr_pred = threadIdx.x < zp_sh_stride; + + // We use a different scale layout for grouped and column-wise quantization as + // we scale a `half2` tile in column-major layout in the former and in + // row-major in the latter case. + int s_sh_rd; + if constexpr (group_blocks != -1) + s_sh_rd = 8 * ((threadIdx.x / 32) % (thread_n_blocks / 4)) + + (threadIdx.x % 32) / 4; + else + s_sh_rd = 8 * ((threadIdx.x / 32) % (thread_n_blocks / 4)) + + (threadIdx.x % 32) % 4; + + // Zero-points have the same read layout as the scales + // (without column-wise case) + constexpr int num_col_threads = 8; + constexpr int num_row_threads = 4; + constexpr int num_ints_per_thread = 8 / pack_factor; + int zp_sh_rd; + if constexpr (has_zp) { + zp_sh_rd = num_ints_per_thread * num_col_threads * + ((threadIdx.x / 32) % (thread_n_blocks / 4)) + + num_ints_per_thread * ((threadIdx.x % 32) / num_row_threads); + } + + // Precompute which thread should not read memory in which iterations; this is + // needed if there are more threads than required for a certain tilesize or + // when the batchsize is not a multiple of 16. + bool a_sh_wr_pred[a_sh_wr_iters]; + #pragma unroll + for (int i = 0; i < a_sh_wr_iters; i++) + a_sh_wr_pred[i] = a_sh_wr_delta * i + a_sh_wr < a_sh_stride * prob_m; + + // To ensure that writing and reading A tiles to/from shared memory, the + // latter in fragment format, is fully bank conflict free, we need to use a + // rather fancy XOR-based layout. The key here is that neither reads nor + // writes of the 16-byte `int4` blocks of 8 consecutive threads involve the + // same shared memory banks. Further, it seems (based on NSight-Compute) that + // each warp must also write a consecutive memory segment? + auto transform_a = [&](int i) { + int row = i / a_gl_rd_delta_o; + return a_gl_rd_delta_o * row + (i % a_gl_rd_delta_o) ^ row; + }; + // Since the computation of this remapping is non-trivial and, due to our main + // loop unrolls, all shared memory accesses are static, we simply precompute + // both transformed reads and writes. + int a_sh_wr_trans[a_sh_wr_iters]; + #pragma unroll + for (int i = 0; i < a_sh_wr_iters; i++) + a_sh_wr_trans[i] = transform_a(a_sh_wr_delta * i + a_sh_wr); + int a_sh_rd_trans[b_sh_wr_iters][thread_m_blocks]; + #pragma unroll + for (int i = 0; i < b_sh_wr_iters; i++) { + #pragma unroll + for (int j = 0; j < thread_m_blocks; j++) + a_sh_rd_trans[i][j] = + transform_a(a_sh_rd_delta_o * i + a_sh_rd_delta_i * j + a_sh_rd); + } + + // Since B-accesses have non-constant stride they have to be computed at + // runtime; we break dependencies between subsequent accesses with a tile by + // maintining multiple pointers (we have enough registers), a tiny + // optimization. + const int4* B_ptr[b_sh_wr_iters]; + #pragma unroll + for (int i = 0; i < b_sh_wr_iters; i++) + B_ptr[i] = B + b_gl_rd_delta_i * i + b_gl_rd; + + extern __shared__ int4 sh[]; + // Shared memory storage for global fetch pipelines. + int4* sh_a = sh; + int4* sh_b = sh_a + (stages * a_sh_stage); + int4* sh_g_idx = sh_b + (stages * b_sh_stage); + int4* sh_zp = sh_g_idx + (stages * g_idx_stage); + int4* sh_s = sh_zp + (stages * zp_sh_stage); + int4* sh_red = sh_s + (stages * s_sh_stage); + + // Register storage for double buffer of shared memory reads. + FragA frag_a[2][thread_m_blocks]; + I4 frag_b_quant[2][b_thread_vecs]; + FragC frag_c[thread_m_blocks][4][2]; + FragS frag_s[2][4]; // No act-order + FragS act_frag_s[2][4][4]; // For act-order + int frag_qzp[2][num_ints_per_thread]; // Zero-points + FragZP frag_zp; // Zero-points in fp16 + + // Zero accumulators. + auto zero_accums = [&]() { + #pragma unroll + for (int i = 0; i < thread_m_blocks * 4 * 2 * 4; i++) + reinterpret_cast<float*>(frag_c)[i] = 0; + }; + + int sh_first_group_id = -1; + int sh_num_groups = -1; + constexpr int sh_max_num_groups = 32; + + auto fetch_scales_to_shared = [&](bool is_async, int first_group_id, + int last_group_id) { + sh_first_group_id = first_group_id; + sh_num_groups = last_group_id - first_group_id + 1; + + if (sh_num_groups < sh_max_num_groups) { + sh_num_groups = sh_max_num_groups; + } + + if (sh_first_group_id + sh_num_groups > num_groups) { + sh_num_groups = num_groups - sh_first_group_id; + } + + int row_offset = first_group_id * s_gl_stride; + + if (is_async) { + for (int i = 0; i < sh_num_groups; i++) { + if (threadIdx.x < s_sh_stride) { + cp_async4_pred(&sh_s[(i * s_sh_stride) + threadIdx.x], + &scales_ptr[row_offset + (i * s_gl_stride) + + slice_n_offset + threadIdx.x]); + } + } + } else { + for (int i = 0; i < sh_num_groups; i++) { + if (threadIdx.x < s_sh_stride) { + sh_s[(i * s_sh_stride) + threadIdx.x] = + scales_ptr[row_offset + (i * s_gl_stride) + slice_n_offset + + threadIdx.x]; + } + } + } + }; + // Asynchronously fetch the next A, B and s tile from global to the next + // shared memory pipeline location. + auto fetch_to_shared = [&](int pipe, int a_off, bool pred = true) { + if (pred) { + int4* sh_a_stage = sh_a + a_sh_stage * pipe; + #pragma unroll + for (int i = 0; i < a_sh_wr_iters; i++) { + cp_async4_pred( + &sh_a_stage[a_sh_wr_trans[i]], + &A[a_gl_rd_delta_i * i + a_gl_rd + a_gl_rd_delta_o * a_off], + a_sh_wr_pred[i]); + } + int4* sh_b_stage = sh_b + b_sh_stage * pipe; + #pragma unroll + for (int i = 0; i < b_sh_wr_iters; i++) { + #pragma unroll + for (int j = 0; j < b_thread_vecs; j++) { + cp_async4(&sh_b_stage[b_sh_wr_delta * i + b_sh_wr + j], B_ptr[i] + j); + } + + B_ptr[i] += b_gl_rd_delta_o; + } + + if constexpr (has_act_order) { + // Fetch g_idx thread-block portion + int full_pipe = a_off; + int cur_k = slice_k_start_shared_fetch + tb_k * full_pipe; + if (cur_k < prob_k && cur_k < slice_k_finish) { + int4* sh_g_idx_stage = sh_g_idx + g_idx_stage * pipe; + + int4 const* cur_g_idx_stage_ptr = + reinterpret_cast<int4 const*>(&g_idx[cur_k]); + + if (threadIdx.x < g_idx_stage) { + cp_async4_pred(&sh_g_idx_stage[threadIdx.x], + &cur_g_idx_stage_ptr[threadIdx.x]); + } + } + } else { + if constexpr (group_blocks != -1) { + int4* sh_s_stage = sh_s + s_sh_stage * pipe; + + if constexpr (group_blocks >= thread_k_blocks) { + if (s_sh_wr_pred) { + cp_async4(&sh_s_stage[s_sh_wr], &scales_ptr[s_gl_rd]); + } + // Only fetch scales if this tile starts a new group + if ((pipe + 1) % (group_blocks / thread_k_blocks) == 0) { + s_gl_rd += s_gl_rd_delta; + } + } else { + for (int i = 0; i < s_tb_groups; i++) { + if (s_sh_wr_pred) { + cp_async4(&sh_s_stage[i * s_sh_stride + s_sh_wr], + &scales_ptr[s_gl_rd]); + } + s_gl_rd += s_gl_rd_delta; + } + } + } + + if constexpr (has_zp && group_blocks != -1) { + int4* sh_zp_stage = sh_zp + zp_sh_stage * pipe; + + if constexpr (group_blocks >= thread_k_blocks) { + // Only fetch zero-points if this tile starts a new group + if (pipe % (group_blocks / thread_k_blocks) == 0) { + if (zp_sh_wr_pred) { + cp_async4(&sh_zp_stage[zp_sh_wr], &zp_ptr[zp_gl_rd]); + } + zp_gl_rd += zp_gl_rd_delta; + } + } else { + for (int i = 0; i < zp_tb_groups; i++) { + if (zp_sh_wr_pred) { + cp_async4(&sh_zp_stage[i * zp_sh_stride + zp_sh_wr], + &zp_ptr[zp_gl_rd]); + } + zp_gl_rd += zp_gl_rd_delta; + } + } + } + } + } + // Insert a fence even when we are winding down the pipeline to ensure that + // waiting is also correct at this point. + cp_async_fence(); + }; + + auto fetch_zp_to_shared = [&]() { + if (zp_sh_wr_pred) { + cp_async4(&sh_zp[zp_sh_wr], &zp_ptr[zp_gl_rd]); + } + }; + + // Wait until the next thread tile has been loaded to shared memory. + auto wait_for_stage = [&]() { + // We only have `stages - 2` active fetches since we are double buffering + // and can only issue the next fetch when it is guaranteed that the previous + // shared memory load is fully complete (as it may otherwise be + // overwritten). + cp_async_wait<stages - 2>(); + __syncthreads(); + }; + + // Load the next sub-tile from the current location in the shared memory pipe + // into the current register buffer. + auto fetch_to_registers = [&](int k, int pipe) { + int4* sh_a_stage = sh_a + a_sh_stage * pipe; + #pragma unroll + for (int i = 0; i < thread_m_blocks; i++) + ldsm4<scalar_t>(frag_a[k % 2][i], + &sh_a_stage[a_sh_rd_trans[k % b_sh_wr_iters][i]]); + int4* sh_b_stage = sh_b + b_sh_stage * pipe; + + #pragma unroll + for (int i = 0; i < b_thread_vecs; i++) { + frag_b_quant[k % 2][i] = *reinterpret_cast<I4*>( + &sh_b_stage[b_sh_rd_delta * (k % b_sh_wr_iters) + b_sh_rd + i]); + } + }; + + bool is_same_group[stages]; + int same_group_id[stages]; + + auto init_same_group = [&](int pipe) { + if constexpr (!has_act_order) { + is_same_group[pipe] = false; + same_group_id[pipe] = 0; + return; + } + + int4* sh_g_idx_stage = sh_g_idx + g_idx_stage * pipe; + int* sh_g_idx_int_ptr = reinterpret_cast<int*>(sh_g_idx_stage); + + int group_id_1 = sh_g_idx_int_ptr[0]; + int group_id_2 = sh_g_idx_int_ptr[tb_k - 1]; + + is_same_group[pipe] = group_id_1 == group_id_2; + same_group_id[pipe] = group_id_1; + }; + + auto fetch_scales_to_registers = [&](int k, int full_pipe) { + int pipe = full_pipe % stages; + + if constexpr (!has_act_order) { + // No act-order case + if constexpr (group_blocks != -1) { + if constexpr (group_blocks >= thread_k_blocks) { + int4* sh_s_stage = sh_s + s_sh_stage * pipe; + reinterpret_cast<int4*>(&frag_s[k % 2])[0] = sh_s_stage[s_sh_rd]; + } else { + int warp_id = threadIdx.x / 32; + int n_warps = thread_n_blocks / 4; + + int warp_row = warp_id / n_warps; + + int cur_k = warp_row * 16; + cur_k += k_iter_size * (k % b_sh_wr_iters); + + int k_blocks = cur_k / 16; + int cur_group_id = k_blocks / group_blocks; + + int4* sh_s_stage = sh_s + s_sh_stage * pipe; + + reinterpret_cast<int4*>(&frag_s[k % 2])[0] = + sh_s_stage[s_sh_rd + cur_group_id * s_sh_stride]; + } + } + + return; + } + + // Act-order case + + // Determine K of the "current" thread-block + int cur_k = slice_k_start + tb_k * full_pipe; + if (cur_k >= prob_k || cur_k >= slice_k_finish) { + return; + } + + // Reset (to current thread-block) since we read g_idx portion from the + // shared memory + cur_k = 0; + + // Progress to current iteration + cur_k += k_iter_size * (k % b_sh_wr_iters); + + // Determine "position" inside the thread-block (based on warp and + // thread-id) + int warp_id = threadIdx.x / 32; + int n_warps = + thread_n_blocks / 4; // Each warp processes 4 16-size tiles over N + + int warp_row = warp_id / n_warps; + int warp_col = warp_id % n_warps; + + cur_k += warp_row * 16; + + int th_id = threadIdx.x % 32; + cur_k += (th_id % 4) * 2; // Due to tensor-core layout for fp16 B matrix + + int s_col_shift = + /*slice_n_offset +*/ (act_s_col_warp_stride * warp_col) + + (th_id / 4) * act_s_col_stride; + + if (is_same_group[pipe]) { + if (k % 2 == 0) { + *(reinterpret_cast<int4*>(&(act_frag_s[k % 2][0][0]))) = + sh_s[(same_group_id[pipe] - sh_first_group_id) * s_sh_stride + + s_col_shift]; + } else { + *(reinterpret_cast<int4*>(&(act_frag_s[k % 2][0][0]))) = + *(reinterpret_cast<int4*>(&(act_frag_s[(k - 1) % 2][0][0]))); + } + + for (int i = 1; i < 4; i++) { + *(reinterpret_cast<int4*>(&(act_frag_s[k % 2][i][0]))) = + *(reinterpret_cast<int4*>(&(act_frag_s[k % 2][0][0]))); + } + return; + } + + int4* sh_g_idx_stage = sh_g_idx + g_idx_stage * pipe; + int* sh_g_idx_int_ptr = reinterpret_cast<int*>(sh_g_idx_stage); + + constexpr int k_frag_offsets[4] = {0, 1, 8, + 9}; // Tensor core offsets per thread + + #pragma unroll + for (int i = 0; i < 4; i++) { + int actual_k = cur_k + k_frag_offsets[i]; + + int group_id = sh_g_idx_int_ptr[actual_k]; + int rel_group_id = group_id - sh_first_group_id; + + *(reinterpret_cast<int4*>(&(act_frag_s[k % 2][i][0]))) = + sh_s[rel_group_id * s_sh_stride + s_col_shift]; + } + }; + + auto fetch_zp_to_registers = [&](int k, int full_pipe) { + // This code does not handle group_blocks == 0, + // which signifies act_order. + // has_zp implies AWQ, which doesn't have act_order, + static_assert(!has_zp || group_blocks != 0); + + if constexpr (has_zp) { + int pipe = full_pipe % stages; + + if constexpr (group_blocks == -1) { + for (int i = 0; i < num_ints_per_thread; i++) { + frag_qzp[k % 2][i] = (reinterpret_cast<int*>(sh_zp))[zp_sh_rd + i]; + } + + } else if constexpr (group_blocks >= thread_k_blocks) { + int4* sh_zp_stage = + sh_zp + zp_sh_stage * ((group_blocks / thread_k_blocks) * + (pipe / (group_blocks / thread_k_blocks))); + for (int i = 0; i < num_ints_per_thread; i++) { + frag_qzp[k % 2][i] = + (reinterpret_cast<int*>(sh_zp_stage))[zp_sh_rd + i]; + } + } else { + int warp_id = threadIdx.x / 32; + int n_warps = thread_n_blocks / 4; + + int warp_row = warp_id / n_warps; + + int cur_k = warp_row * 16; + cur_k += k_iter_size * (k % b_sh_wr_iters); + + int k_blocks = cur_k / 16; + int cur_group_id = 0; + + // Suppress bogus and persistent divide-by-zero warning + #pragma nv_diagnostic push + #pragma nv_diag_suppress divide_by_zero + cur_group_id = k_blocks / group_blocks; + #pragma nv_diagnostic pop + + int4* sh_zp_stage = sh_zp + zp_sh_stage * pipe; + + sh_zp_stage += cur_group_id * zp_sh_stride; + + for (int i = 0; i < num_ints_per_thread; i++) { + frag_qzp[k % 2][i] = + (reinterpret_cast<int*>(sh_zp_stage))[zp_sh_rd + i]; + } + } + } + }; + + // Execute the actual tensor core matmul of a sub-tile. + auto matmul = [&](int k) { + if constexpr (has_zp) { + FragB frag_zp_0; + FragB frag_zp_1; + int zp_quant_0, zp_quant_1; + + if constexpr (w_type.size_bits() == 4) { + zp_quant_0 = frag_qzp[k % 2][0]; + zp_quant_1 = zp_quant_0 >> 8; + } else { + static_assert(w_type.size_bits() == 8); + zp_quant_0 = frag_qzp[k % 2][0]; + zp_quant_1 = frag_qzp[k % 2][1]; + } + + frag_zp_0 = dequant<scalar_t, w_type_id>(zp_quant_0); + frag_zp_1 = dequant<scalar_t, w_type_id>(zp_quant_1); + + frag_zp[0] = frag_zp_0[0]; + frag_zp[1] = frag_zp_0[1]; + frag_zp[2] = frag_zp_1[0]; + frag_zp[3] = frag_zp_1[1]; + } + + // We have the m dimension as the inner loop in order to encourage overlapping + // dequantization and matmul operations. + #pragma unroll + for (int j = 0; j < 4; j++) { + FragB frag_b0; + FragB frag_b1; + int b_quant_0, b_quant_1; + + if constexpr (w_type.size_bits() == 4) { + b_quant_0 = frag_b_quant[k % 2][0][j]; + b_quant_1 = b_quant_0 >> 8; + } else { + static_assert(w_type.size_bits() == 8); + int* frag_b_quant_ptr = reinterpret_cast<int*>(frag_b_quant[k % 2]); + b_quant_0 = frag_b_quant_ptr[j * 2 + 0]; + b_quant_1 = frag_b_quant_ptr[j * 2 + 1]; + } + + frag_b0 = dequant<scalar_t, w_type_id>(b_quant_0); + frag_b1 = dequant<scalar_t, w_type_id>(b_quant_1); + + // Apply zero-point to frag_b0 + if constexpr (has_zp) { + sub_zp<scalar_t>(frag_b0, frag_zp[j], 0); + } + + // Apply scale to frag_b0 + if constexpr (has_act_order) { + scale4<scalar_t>(frag_b0, act_frag_s[k % 2][0][j], + act_frag_s[k % 2][1][j], act_frag_s[k % 2][2][j], + act_frag_s[k % 2][3][j], 0); + } else { + if constexpr (group_blocks != -1) { + scale<scalar_t>(frag_b0, frag_s[k % 2][j], 0); + } + } + + // Apply zero-point to frag_b1 + if constexpr (has_zp) { + sub_zp<scalar_t>(frag_b1, frag_zp[j], 1); + } + + // Apply scale to frag_b1 + if constexpr (has_act_order) { + scale4<scalar_t>(frag_b1, act_frag_s[k % 2][0][j], + act_frag_s[k % 2][1][j], act_frag_s[k % 2][2][j], + act_frag_s[k % 2][3][j], 1); + + } else { + if constexpr (group_blocks != -1) { + scale<scalar_t>(frag_b1, frag_s[k % 2][j], 1); + } + } + + #pragma unroll + for (int i = 0; i < thread_m_blocks; i++) { + mma<scalar_t>(frag_a[k % 2][i], frag_b0, frag_c[i][j][0]); + mma<scalar_t>(frag_a[k % 2][i], frag_b1, frag_c[i][j][1]); + } + } + }; + + // Since we slice across the k dimension of a tile in order to increase the + // number of warps while keeping the n dimension of a tile reasonable, we have + // multiple warps that accumulate their partial sums of the same output + // location; which we have to reduce over in the end. We do in shared memory. + auto thread_block_reduce = [&]() { + constexpr int red_off = threads / b_sh_stride_threads / 2; + if (red_off >= 1) { + int red_idx = threadIdx.x / b_sh_stride_threads; + constexpr int red_sh_stride = b_sh_stride_threads * 4 * 2; + constexpr int red_sh_delta = b_sh_stride_threads; + int red_sh_rd = red_sh_stride * (threadIdx.x / b_sh_stride_threads) + + (threadIdx.x % b_sh_stride_threads); + + // Parallel logarithmic shared memory reduction. We make sure to avoid any + // unnecessary read or write iterations, e.g., for two warps we write only + // once by warp 1 and read only once by warp 0. + + #pragma unroll + for (int m_block = 0; m_block < thread_m_blocks; m_block++) { + #pragma unroll + for (int i = red_off; i > 0; i /= 2) { + if (i <= red_idx && red_idx < 2 * i) { + #pragma unroll + for (int j = 0; j < 4 * 2; j++) { + int red_sh_wr = + red_sh_delta * j + (red_sh_rd - red_sh_stride * i); + if (i < red_off) { + float* c_rd = reinterpret_cast<float*>( + &sh_red[red_sh_delta * j + red_sh_rd]); + float* c_wr = reinterpret_cast<float*>(&sh_red[red_sh_wr]); + #pragma unroll + for (int k = 0; k < 4; k++) + reinterpret_cast<FragC*>(frag_c)[4 * 2 * m_block + j][k] += + c_rd[k] + c_wr[k]; + } + sh_red[red_sh_wr] = + reinterpret_cast<int4*>(&frag_c)[4 * 2 * m_block + j]; + } + } + __syncthreads(); + } + if (red_idx == 0) { + #pragma unroll + for (int i = 0; i < 4 * 2; i++) { + float* c_rd = + reinterpret_cast<float*>(&sh_red[red_sh_delta * i + red_sh_rd]); + #pragma unroll + for (int j = 0; j < 4; j++) + reinterpret_cast<FragC*>(frag_c)[4 * 2 * m_block + i][j] += + c_rd[j]; + } + } + __syncthreads(); + } + } + }; + + // Since multiple threadblocks may process parts of the same column slice, we + // finally have to globally reduce over the results. As the striped + // partitioning minimizes the number of such reductions and our outputs are + // usually rather small, we perform this reduction serially in L2 cache. + auto global_reduce_fp16 = [&](bool first = false, bool last = false) { + // We are very careful here to reduce directly in the output buffer to + // maximize L2 cache utilization in this step. To do this, we write out + // results in FP16 (but still reduce with FP32 compute). + constexpr int active_threads = 32 * thread_n_blocks / 4; + if (threadIdx.x < active_threads) { + int c_gl_stride = prob_n / 8; + int c_gl_wr_delta_o = 8 * c_gl_stride; + int c_gl_wr_delta_i = 4 * (active_threads / 32); + int c_gl_wr = c_gl_stride * ((threadIdx.x % 32) / 4) + + 4 * (threadIdx.x / 32) + threadIdx.x % 4; + c_gl_wr += (2 * thread_n_blocks) * slice_col; + constexpr int c_sh_wr_delta = active_threads; + int c_sh_wr = threadIdx.x; + + int row = (threadIdx.x % 32) / 4; + + if (!first) { + // Interestingly, doing direct global accesses here really seems to mess up + // the compiler and lead to slowdowns, hence we also use async-copies even + // though these fetches are not actually asynchronous. + #pragma unroll + for (int i = 0; i < thread_m_blocks * 4; i++) { + cp_async4_pred( + &sh_red[c_sh_wr + c_sh_wr_delta * i], + &C[c_gl_wr + c_gl_wr_delta_o * (i / 2) + + c_gl_wr_delta_i * (i % 2)], + i < (thread_m_blocks - 1) * 4 || 8 * (i / 2) + row < prob_m); + } + cp_async_fence(); + cp_async_wait<0>(); + } + + #pragma unroll + for (int i = 0; i < thread_m_blocks * 4; i++) { + if (i < (thread_m_blocks - 1) * 4 || 8 * (i / 2) + row < prob_m) { + if (!first) { + int4 c_red = sh_red[c_sh_wr + i * c_sh_wr_delta]; + #pragma unroll + for (int j = 0; j < 2 * 4; j++) { + reinterpret_cast<float*>( + &frag_c)[4 * 2 * 4 * (i / 4) + 4 * j + (i % 4)] += + Dtype::num2float(reinterpret_cast<scalar_t*>(&c_red)[j]); + } + } + if (!last) { + int4 c; + #pragma unroll + for (int j = 0; j < 2 * 4; j++) { + reinterpret_cast<scalar_t*>(&c)[j] = + Dtype::float2num(reinterpret_cast<float*>( + &frag_c)[4 * 2 * 4 * (i / 4) + 4 * j + (i % 4)]); + } + C[c_gl_wr + c_gl_wr_delta_o * (i / 2) + c_gl_wr_delta_i * (i % 2)] = + c; + } + } + } + } + }; + + // Globally reduce over threadblocks that compute the same column block. + // We use a tmp C buffer to reduce in full fp32 precision. + auto global_reduce_fp32 = [&](bool first = false, bool last = false) { + constexpr int tb_m = thread_m_blocks * 16; + constexpr int tb_n = thread_n_blocks * 16; + + constexpr int c_size = tb_m * tb_n * sizeof(float) / 16; + + constexpr int active_threads = 32 * thread_n_blocks / 4; + bool is_th_active = threadIdx.x < active_threads; + + int par_offset = c_size * n_tiles * par_id; + int slice_offset = c_size * slice_col; + + constexpr int num_floats = thread_m_blocks * 4 * 2 * 4; + constexpr int th_size = num_floats * sizeof(float) / 16; + + int c_cur_offset = par_offset + slice_offset; + + if (!is_th_active) { + return; + } + + if (!first) { + float* frag_c_ptr = reinterpret_cast<float*>(&frag_c); + #pragma unroll + for (int k = 0; k < th_size; k++) { + sh_red[threadIdx.x] = + C_tmp[c_cur_offset + active_threads * k + threadIdx.x]; + + float* sh_c_ptr = reinterpret_cast<float*>(&sh_red[threadIdx.x]); + #pragma unroll + for (int f = 0; f < 4; f++) { + frag_c_ptr[k * 4 + f] += sh_c_ptr[f]; + } + } + } + + if (!last) { + int4* frag_c_ptr = reinterpret_cast<int4*>(&frag_c); + #pragma unroll + for (int k = 0; k < th_size; k++) { + C_tmp[c_cur_offset + active_threads * k + threadIdx.x] = frag_c_ptr[k]; + } + } + }; + + // Write out the reduce final result in the correct layout. We only actually + // reshuffle matrix fragments in this step, the reduction above is performed + // in fragment layout. + auto write_result = [&]() { + int c_gl_stride = prob_n / 8; + constexpr int c_sh_stride = 2 * thread_n_blocks + 1; + int c_gl_wr_delta = c_gl_stride * (threads / (2 * thread_n_blocks)); + constexpr int c_sh_rd_delta = + c_sh_stride * (threads / (2 * thread_n_blocks)); + + int c_gl_wr = c_gl_stride * (threadIdx.x / (2 * thread_n_blocks)) + + (threadIdx.x % (2 * thread_n_blocks)); + c_gl_wr += (2 * thread_n_blocks) * slice_col; + int c_sh_wr = + (4 * c_sh_stride) * ((threadIdx.x % 32) / 4) + (threadIdx.x % 32) % 4; + c_sh_wr += 32 * (threadIdx.x / 32); + int c_sh_rd = c_sh_stride * (threadIdx.x / (2 * thread_n_blocks)) + + (threadIdx.x % (2 * thread_n_blocks)); + + int c_gl_wr_end = c_gl_stride * prob_m; + + // We first reorder in shared memory to guarantee the most efficient final + // global write patterns + auto write = [&](int idx, float c0, float c1, FragS& s) { + scalar_t2 res = + Dtype::nums2num2(Dtype::float2num(c0), Dtype::float2num(c1)); + + // For per-column quantization we finally apply the scale here (only for + // 4-bit) + if constexpr (!has_act_order && group_blocks == -1 && + w_type.size_bits() == 4) { + res = __hmul2(res, s[0]); + } + + ((scalar_t2*)sh_red)[idx] = res; + }; + + if (threadIdx.x / 32 < thread_n_blocks / 4) { + #pragma unroll + for (int i = 0; i < thread_m_blocks; i++) { + #pragma unroll + for (int j = 0; j < 4; j++) { + int wr = c_sh_wr + 8 * j; + write(wr + (4 * c_sh_stride) * 0 + 0, frag_c[i][j][0][0], + frag_c[i][j][0][1], frag_s[j / 2][2 * (j % 2) + 0]); + write(wr + (4 * c_sh_stride) * 8 + 0, frag_c[i][j][0][2], + frag_c[i][j][0][3], frag_s[j / 2][2 * (j % 2) + 0]); + write(wr + (4 * c_sh_stride) * 0 + 4, frag_c[i][j][1][0], + frag_c[i][j][1][1], frag_s[j / 2][2 * (j % 2) + 1]); + write(wr + (4 * c_sh_stride) * 8 + 4, frag_c[i][j][1][2], + frag_c[i][j][1][3], frag_s[j / 2][2 * (j % 2) + 1]); + } + c_sh_wr += 16 * (4 * c_sh_stride); + } + } + __syncthreads(); + + #pragma unroll + for (int i = 0; + i < div_ceil(16 * thread_m_blocks, threads / (2 * thread_n_blocks)); + i++) { + if (c_gl_wr < c_gl_wr_end) { + C[c_gl_wr] = sh_red[c_sh_rd]; + c_gl_wr += c_gl_wr_delta; + c_sh_rd += c_sh_rd_delta; + } + } + }; + + // Start global fetch and register load pipelines. + auto start_pipes = [&]() { + + #pragma unroll + for (int i = 0; i < stages - 1; i++) { + if (has_act_order && i == 0) { + int last_g_idx = slice_k_start + stages * tb_k * 2; + if (last_g_idx >= prob_k) { + last_g_idx = prob_k - 1; + } + fetch_scales_to_shared(true, g_idx[slice_k_start], g_idx[last_g_idx]); + } + + if constexpr (has_zp && group_blocks == -1) { + if (i == 0) { + fetch_zp_to_shared(); + } + } + fetch_to_shared(i, i, i < slice_iters); + } + + zero_accums(); + wait_for_stage(); + init_same_group(0); + fetch_to_registers(0, 0); + fetch_scales_to_registers(0, 0); + fetch_zp_to_registers(0, 0); + a_gl_rd += a_gl_rd_delta_o * (stages - 1); + slice_k_start_shared_fetch += tb_k * (stages - 1); + }; + if (slice_iters) { + start_pipes(); + } + + // Main loop. + while (slice_iters) { + // We unroll over both the global fetch and the register load pipeline to + // ensure all shared memory accesses are static. Note that both pipelines + // have even length meaning that the next iteration will always start at + // index 0. + + #pragma unroll + for (int pipe = 0; pipe < stages;) { + #pragma unroll + for (int k = 0; k < b_sh_wr_iters; k++) { + fetch_to_registers(k + 1, pipe % stages); + fetch_scales_to_registers(k + 1, pipe); + fetch_zp_to_registers(k + 1, pipe); + if (k == b_sh_wr_iters - 2) { + fetch_to_shared((pipe + stages - 1) % stages, pipe, + slice_iters >= stages); + pipe++; + wait_for_stage(); + init_same_group(pipe % stages); + } + matmul(k); + } + slice_iters--; + if (slice_iters == 0) { + break; + } + } + + a_gl_rd += a_gl_rd_delta_o * stages; + slice_k_start += tb_k * stages; + slice_k_start_shared_fetch += tb_k * stages; + + if constexpr (has_act_order) { + int first_group_id = g_idx[slice_k_start]; + int last_g_idx = slice_k_start + stages * tb_k * 2; + if (last_g_idx >= prob_k) { + last_g_idx = prob_k - 1; + } + int last_group_id = g_idx[last_g_idx]; + if (last_group_id >= sh_first_group_id + sh_num_groups) { + fetch_scales_to_shared(false, first_group_id, last_group_id); + __syncthreads(); + } + } + + // Process results and, if necessary, proceed to the next column slice. + // While this pattern may not be the most readable, other ways of writing + // the loop seemed to noticeably worse performance after compilation. + if (slice_iters == 0) { + cp_async_wait<0>(); + bool last = slice_idx == slice_count - 1; + // For per-column scales, we only fetch them here in the final step before + // write-out + if constexpr (!has_act_order && group_blocks == -1) { + if constexpr (w_type.size_bits() == 8) { + if (s_sh_wr_pred) { + cp_async4(&sh_s[s_sh_wr], &scales_ptr[s_gl_rd]); + } + cp_async_fence(); + } else { + if (last) { + if (s_sh_wr_pred) { + cp_async4(&sh_s[s_sh_wr], &scales_ptr[s_gl_rd]); + } + cp_async_fence(); + } + } + } + + thread_block_reduce(); + if constexpr (!has_act_order && group_blocks == -1) { + if constexpr (w_type.size_bits() == 8) { + cp_async_wait<0>(); + __syncthreads(); + if (threadIdx.x / 32 < thread_n_blocks / 4) { + reinterpret_cast<int4*>(&frag_s)[0] = sh_s[s_sh_rd + 0]; + reinterpret_cast<int4*>(&frag_s)[1] = sh_s[s_sh_rd + 4]; + } + + } else { + if (last) { + cp_async_wait<0>(); + __syncthreads(); + if (threadIdx.x / 32 < thread_n_blocks / 4) { + reinterpret_cast<int4*>(&frag_s)[0] = sh_s[s_sh_rd + 0]; + reinterpret_cast<int4*>(&frag_s)[1] = sh_s[s_sh_rd + 4]; + } + } + } + } + + // For 8-bit channelwise, we apply the scale before the global reduction + // that converts the fp32 results to fp16 (so that we avoid possible + // overflow in fp16) + if constexpr (!has_act_order && group_blocks == -1 && + w_type.size_bits() == 8) { + if (threadIdx.x / 32 < thread_n_blocks / 4) { + #pragma unroll + for (int i = 0; i < thread_m_blocks; i++) { + #pragma unroll + for (int j = 0; j < 4; j++) { + scale_float<scalar_t>( + reinterpret_cast<float*>(&frag_c[i][j][0][0]), + frag_s[j / 2][2 * (j % 2) + 0]); + scale_float<scalar_t>( + reinterpret_cast<float*>(&frag_c[i][j][0][2]), + frag_s[j / 2][2 * (j % 2) + 0]); + + scale_float<scalar_t>( + reinterpret_cast<float*>(&frag_c[i][j][1][0]), + frag_s[j / 2][2 * (j % 2) + 1]); + scale_float<scalar_t>( + reinterpret_cast<float*>(&frag_c[i][j][1][2]), + frag_s[j / 2][2 * (j % 2) + 1]); + } + } + } + } + + if (slice_count > 1) { // only globally reduce if there is more than one + // block in a slice + barrier_acquire(&locks[slice_col], slice_idx); + if (use_fp32_reduce) { + global_reduce_fp32(slice_idx == 0, last); + } else { + global_reduce_fp16(slice_idx == 0, last); + } + barrier_release(&locks[slice_col], last); + } + if (last) // only the last block in a slice actually writes the result + write_result(); + slice_row = 0; + slice_col_par++; + slice_col++; + init_slice(); + if (slice_iters) { + a_gl_rd = a_gl_stride * (threadIdx.x / a_gl_rd_delta_o) + + (threadIdx.x % a_gl_rd_delta_o); + #pragma unroll + for (int i = 0; i < b_sh_wr_iters; i++) + B_ptr[i] += b_sh_stride - b_gl_rd_delta_o * k_tiles; + if (slice_col == 0) { + #pragma unroll + for (int i = 0; i < b_sh_wr_iters; i++) B_ptr[i] -= b_gl_stride; + } + + // Update slice k/n for scales loading + if constexpr (has_act_order) { + slice_k_start = tb_k * slice_row; + slice_k_finish = slice_k_start + tb_k * slice_iters; + slice_k_start_shared_fetch = slice_k_start; + slice_n_offset = act_s_col_tb_stride * slice_col; + + } else { + s_gl_rd = s_sh_stride * slice_col + threadIdx.x; + zp_gl_rd = zp_sh_stride * slice_col + threadIdx.x; + } + + start_pipes(); + } + } + } +} + + #define __CALL_IF(W_TYPE, THREAD_M_BLOCKS, THREAD_N_BLOCKS, THREAD_K_BLOCKS, \ + HAS_ACT_ORDER, HAS_ZP, GROUP_BLOCKS, NUM_THREADS) \ + else if (q_type == W_TYPE && thread_m_blocks == THREAD_M_BLOCKS && \ + thread_n_blocks == THREAD_N_BLOCKS && \ + thread_k_blocks == THREAD_K_BLOCKS && \ + has_act_order == HAS_ACT_ORDER && has_zp == HAS_ZP && \ + group_blocks == GROUP_BLOCKS && num_threads == NUM_THREADS) { \ + cudaFuncSetAttribute( \ + Marlin<scalar_t, W_TYPE.id(), NUM_THREADS, THREAD_M_BLOCKS, \ + THREAD_N_BLOCKS, THREAD_K_BLOCKS, pipe_stages, HAS_ACT_ORDER, \ + HAS_ZP, GROUP_BLOCKS>, \ + cudaFuncAttributeMaxDynamicSharedMemorySize, max_shared_mem); \ + Marlin<scalar_t, W_TYPE.id(), NUM_THREADS, THREAD_M_BLOCKS, \ + THREAD_N_BLOCKS, THREAD_K_BLOCKS, pipe_stages, HAS_ACT_ORDER, \ + HAS_ZP, GROUP_BLOCKS> \ + <<<blocks, NUM_THREADS, max_shared_mem, stream>>>( \ + A_ptr, B_ptr, C_ptr, C_tmp_ptr, s_ptr, zp_ptr, g_idx_ptr, \ + num_groups, prob_m, prob_n, prob_k, locks, use_fp32_reduce); \ + } + +typedef struct { + int thread_k; + int thread_n; + int num_threads; +} thread_config_t; + +typedef struct { + int max_m_blocks; + thread_config_t tb_cfg; +} exec_config_t; + +thread_config_t small_batch_thread_configs[] = { + // Ordered by priority + + // thread_k, thread_n, num_threads + {128, 128, 256}, + {64, 128, 128}, + {128, 64, 128}, +}; + +thread_config_t large_batch_thread_configs[] = { + // Ordered by priority + + // thread_k, thread_n, num_threads + {64, 256, 256}, + {64, 128, 128}, + {128, 64, 128}, + +}; + +int get_scales_cache_size(thread_config_t const& th_config, int prob_m, + int prob_n, int prob_k, int num_bits, int group_size, + bool has_act_order, bool is_k_full) { + bool cache_scales_chunk = has_act_order && !is_k_full; + + int tb_n = th_config.thread_n; + int tb_k = th_config.thread_k; + + // Get max scale groups per thread-block + int tb_groups; + if (group_size == -1) { + tb_groups = 1; + } else if (group_size == 0) { + tb_groups = div_ceil(tb_k, 32); // Worst case is 32 group size + } else { + tb_groups = div_ceil(tb_k, group_size); + } + + if (cache_scales_chunk) { + int load_groups = + tb_groups * pipe_stages * 2; // Chunk size is 2x pipeline over dim K + load_groups = max(load_groups, 32); // We load at least 32 scale groups + return load_groups * tb_n * 2; + + } else { + int tb_scales = tb_groups * tb_n * 2; + + return tb_scales * pipe_stages; + } +} + +bool is_valid_cache_size(thread_config_t const& th_config, int max_m_blocks, + int prob_m, int prob_n, int prob_k, int num_bits, + int scales_cache_size, int max_shared_mem) { + int pack_factor = 32 / num_bits; + + // Get B size + int tb_k = th_config.thread_k; + int tb_n = th_config.thread_n; + + int b_size = (tb_k * tb_n / pack_factor) * 4; + + // Get A size + int m_blocks = div_ceil(prob_m, 16); + int tb_max_m = 16; + + while (true) { + if (m_blocks >= max_m_blocks) { + tb_max_m *= max_m_blocks; + break; + } + + max_m_blocks--; + if (max_m_blocks == 0) { + TORCH_CHECK(false, "Unexpected m_blocks = ", m_blocks); + } + } + + int a_size = (tb_max_m * tb_k) * 2; + + float pipe_size = (a_size + b_size) * pipe_stages; + + float reduce_size = max(th_config.num_threads * 32 * 4, + (tb_n / 64) * 32 * (tb_max_m / 16) * 4 * 2 * 4 * 2); + + TORCH_CHECK(max_shared_mem / 2 > scales_cache_size); // Sanity + + return pipe_size + reduce_size < 0.95f * (max_shared_mem - scales_cache_size); +} + +bool is_valid_config(thread_config_t const& th_config, int max_m_blocks, + int prob_m, int prob_n, int prob_k, int num_bits, + int group_size, bool has_act_order, bool is_k_full, + int max_shared_mem) { + // Sanity + if (th_config.thread_k == -1 || th_config.thread_n == -1 || + th_config.num_threads == -1) { + return false; + } + + // Verify K/N are divisible by thread K/N + if (prob_k % th_config.thread_k != 0 || prob_n % th_config.thread_n != 0) { + return false; + } + + // Verify min for thread K/N + if (th_config.thread_n < min_thread_n || th_config.thread_k < min_thread_k) { + return false; + } + + // num_threads must be at least 128 (= 4 warps) + if (th_config.num_threads < 128) { + return false; + } + + // Determine cache for scales + int scales_cache_size = + get_scales_cache_size(th_config, prob_m, prob_n, prob_k, num_bits, + group_size, has_act_order, is_k_full); + + // Check that pipeline fits into cache + if (!is_valid_cache_size(th_config, max_m_blocks, prob_m, prob_n, prob_k, + num_bits, scales_cache_size, max_shared_mem)) { + return false; + } + + return true; +} + +int determine_reduce_max_m(int prob_m, int max_par) { + constexpr int tile_m_size = 16; + + if (prob_m <= tile_m_size) { + return tile_m_size; + + } else if (prob_m <= tile_m_size * 2) { + return tile_m_size * 2; + + } else if (prob_m <= tile_m_size * 3) { + return tile_m_size * 3; + + } else if (prob_m <= tile_m_size * 4) { + return tile_m_size * 4; + + } else { + int cur_par = min(div_ceil(prob_m, tile_m_size * 4), max_par); + return tile_m_size * 4 * cur_par; + } +} + +exec_config_t determine_thread_config(int prob_m, int prob_n, int prob_k, + int num_bits, int group_size, + bool has_act_order, bool is_k_full, + int max_shared_mem) { + int max_m_blocks = 4; + while (max_m_blocks > 0) { + if (prob_m <= 16) { + for (auto th_config : small_batch_thread_configs) { + if (is_valid_config(th_config, max_m_blocks, prob_m, prob_n, prob_k, + num_bits, group_size, has_act_order, is_k_full, + max_shared_mem)) { + return exec_config_t{max_m_blocks, th_config}; + } + } + } else { + for (auto th_config : large_batch_thread_configs) { + if (is_valid_config(th_config, max_m_blocks, prob_m, prob_n, prob_k, + num_bits, group_size, has_act_order, is_k_full, + max_shared_mem)) { + return exec_config_t{max_m_blocks, th_config}; + } + } + } + + max_m_blocks--; // Process less M blocks per invocation to reduce cache + // usage + } + + return exec_config_t{0, {-1, -1, -1}}; +} + + #define GPTQ_CALL_IF(W_TYPE, N_BLOCKS, K_BLOCKS, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, true, false, 0, NUM_THREADS) \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, true, false, 0, NUM_THREADS) \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, true, false, 0, NUM_THREADS) \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, true, false, 0, NUM_THREADS) \ + \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, false, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, false, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, false, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, false, 8, NUM_THREADS) \ + \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, false, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, false, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, false, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, false, 8, NUM_THREADS) \ + \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, false, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, false, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, false, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, false, 8, NUM_THREADS) \ + \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, false, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, false, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, false, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, false, 8, NUM_THREADS) + + #define AWQ_CALL_IF(W_TYPE, N_BLOCKS, K_BLOCKS, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, true, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, true, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, true, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 1, N_BLOCKS, K_BLOCKS, false, true, 8, NUM_THREADS) \ + \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, true, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, true, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, true, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 2, N_BLOCKS, K_BLOCKS, false, true, 8, NUM_THREADS) \ + \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, true, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, true, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, true, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 3, N_BLOCKS, K_BLOCKS, false, true, 8, NUM_THREADS) \ + \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, true, -1, NUM_THREADS) \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, true, 2, NUM_THREADS) \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, true, 4, NUM_THREADS) \ + __CALL_IF(W_TYPE, 4, N_BLOCKS, K_BLOCKS, false, true, 8, NUM_THREADS) + +template <typename scalar_t> +void marlin_mm(const void* A, const void* B, void* C, void* C_tmp, void* s, + void* zp, void* g_idx, void* perm, void* a_tmp, int prob_m, + int prob_n, int prob_k, void* workspace, + vllm::ScalarType const& q_type, bool has_act_order, + bool is_k_full, bool has_zp, int num_groups, int group_size, + int dev, cudaStream_t stream, int thread_k, int thread_n, + int sms, int max_par, bool use_fp32_reduce) { + if (has_zp) { + TORCH_CHECK( + q_type == vllm::kU4 || q_type == vllm::kU8, + "q_type must be u4 or u8 when has_zp = True. Got = ", q_type.str()); + } else { + TORCH_CHECK( + q_type == vllm::kU4B8 || q_type == vllm::kU8B128, + "q_type must be uint4b8 or uint8b128 when has_zp = False. Got = ", + q_type.str()); + } + + TORCH_CHECK(prob_m > 0 && prob_n > 0 && prob_k > 0, "Invalid MNK = [", prob_m, + ", ", prob_n, ", ", prob_k, "]"); + + // TODO: remove alias when we start supporting other 8bit types + int num_bits = q_type.size_bits(); + int tot_m = prob_m; + int tot_m_blocks = div_ceil(tot_m, 16); + int pad = 16 * tot_m_blocks - tot_m; + + if (sms == -1) { + cudaDeviceGetAttribute(&sms, cudaDevAttrMultiProcessorCount, dev); + } + + int max_shared_mem = 0; + cudaDeviceGetAttribute(&max_shared_mem, + cudaDevAttrMaxSharedMemoryPerBlockOptin, dev); + TORCH_CHECK(max_shared_mem > 0); + + // Set thread config + exec_config_t exec_cfg; + if (thread_k != -1 && thread_n != -1) { + // User-defined config + exec_cfg = + exec_config_t{4, thread_config_t{thread_k, thread_n, default_threads}}; + } else { + // Auto config + exec_cfg = + determine_thread_config(prob_m, prob_n, prob_k, num_bits, group_size, + has_act_order, is_k_full, max_shared_mem); + } + + TORCH_CHECK(exec_cfg.max_m_blocks > 0 && + is_valid_config(exec_cfg.tb_cfg, exec_cfg.max_m_blocks, + prob_m, prob_n, prob_k, num_bits, group_size, + has_act_order, is_k_full, max_shared_mem), + "Invalid thread config: max_m_blocks = ", exec_cfg.max_m_blocks, + ", thread_k = ", exec_cfg.tb_cfg.thread_k, + ", thread_n = ", exec_cfg.tb_cfg.thread_n, + ", num_threads = ", exec_cfg.tb_cfg.num_threads, " for MKN = [", + prob_m, ", ", prob_k, ", ", prob_n, "] and num_bits = ", num_bits, + ", group_size = ", group_size, + ", has_act_order = ", has_act_order, ", is_k_full = ", is_k_full, + ", max_shared_mem = ", max_shared_mem); + + int num_threads = exec_cfg.tb_cfg.num_threads; + thread_k = exec_cfg.tb_cfg.thread_k; + thread_n = exec_cfg.tb_cfg.thread_n; + + int thread_k_blocks = thread_k / 16; + int thread_n_blocks = thread_n / 16; + + int blocks = sms; + + TORCH_CHECK(prob_n % thread_n == 0, "prob_n = ", prob_n, + " is not divisible by thread_n = ", thread_n); + TORCH_CHECK(prob_k % thread_k == 0, "prob_k = ", prob_k, + " is not divisible by thread_k = ", thread_k); + + int group_blocks = 0; + if (has_act_order) { + if (is_k_full) { + TORCH_CHECK(group_size != -1); + group_blocks = group_size / 16; + TORCH_CHECK(prob_k % group_blocks == 0, "prob_k = ", prob_k, + " is not divisible by group_blocks = ", group_blocks); + } else { + TORCH_CHECK(group_size == 0); + group_blocks = 0; + } + + } else { + if (group_size == -1) { + group_blocks = -1; + } else { + group_blocks = group_size / 16; + TORCH_CHECK(prob_k % group_blocks == 0, "prob_k = ", prob_k, + " is not divisible by group_blocks = ", group_blocks); + } + } + + const int4* A_ptr = (const int4*)A; + const int4* B_ptr = (const int4*)B; + int4* C_ptr = (int4*)C; + int4* C_tmp_ptr = (int4*)C_tmp; + const int4* s_ptr = (const int4*)s; + const int4* zp_ptr = (const int4*)zp; + const int* g_idx_ptr = (const int*)g_idx; + const int* perm_ptr = (const int*)perm; + int4* a_tmp_ptr = (int4*)a_tmp; + + int* locks = (int*)workspace; + + if (has_act_order) { + // Permute A columns + int block_rows = div_ceil(prob_m, blocks); + permute_cols_kernel<<<blocks, default_threads, 0, stream>>>( + A_ptr, perm_ptr, a_tmp_ptr, prob_m, prob_k, block_rows); + A_ptr = a_tmp_ptr; + } + + // If we have a full K, then we can run the non-act-order version of Marlin + // (since the weight rows are reordered by increasing group ids, and by having + // a full K, we have full original groups) + if (is_k_full) { + has_act_order = false; + } + + // Main loop + for (int i = 0; i < tot_m_blocks; i += exec_cfg.max_m_blocks) { + int thread_m_blocks = tot_m_blocks - i; + prob_m = tot_m - 16 * i; + int par = 1; + if (thread_m_blocks > exec_cfg.max_m_blocks) { + // Note that parallel > 1 currently only works for inputs without any + // padding + par = (16 * thread_m_blocks - pad) / (16 * exec_cfg.max_m_blocks); + if (par > max_par) par = max_par; + prob_m = (16 * exec_cfg.max_m_blocks) * par; + i += exec_cfg.max_m_blocks * (par - 1); + thread_m_blocks = exec_cfg.max_m_blocks; + } + + if (false) { + } + GPTQ_CALL_IF(vllm::kU4B8, 16, 4, 256) + GPTQ_CALL_IF(vllm::kU4B8, 8, 8, 256) + GPTQ_CALL_IF(vllm::kU4B8, 8, 4, 128) + GPTQ_CALL_IF(vllm::kU4B8, 4, 8, 128) + GPTQ_CALL_IF(vllm::kU8B128, 16, 4, 256) + GPTQ_CALL_IF(vllm::kU8B128, 8, 8, 256) + GPTQ_CALL_IF(vllm::kU8B128, 8, 4, 128) + GPTQ_CALL_IF(vllm::kU8B128, 4, 8, 128) + + AWQ_CALL_IF(vllm::kU4, 16, 4, 256) + AWQ_CALL_IF(vllm::kU4, 8, 8, 256) + AWQ_CALL_IF(vllm::kU4, 8, 4, 128) + AWQ_CALL_IF(vllm::kU4, 4, 8, 128) + AWQ_CALL_IF(vllm::kU8, 16, 4, 256) + AWQ_CALL_IF(vllm::kU8, 8, 8, 256) + AWQ_CALL_IF(vllm::kU8, 8, 4, 128) + AWQ_CALL_IF(vllm::kU8, 4, 8, 128) + else { + TORCH_CHECK(false, "Unsupported shapes: MNK = [", prob_m, ", ", prob_n, + ", ", prob_k, "]", ", has_act_order = ", has_act_order, + ", num_groups = ", num_groups, ", group_size = ", group_size, + ", thread_m_blocks = ", thread_m_blocks, + ", thread_n_blocks = ", thread_n_blocks, + ", thread_k_blocks = ", thread_k_blocks, + ", num_bits = ", num_bits); + } + + A_ptr += 16 * thread_m_blocks * (prob_k / 8) * par; + C_ptr += 16 * thread_m_blocks * (prob_n / 8) * par; + } +} + +} // namespace marlin + +// torch::Tensor gptq_marlin_gemm(torch::Tensor& a, torch::Tensor& b_q_weight, +// torch::Tensor& b_scales, torch::Tensor& b_zeros, +// torch::Tensor& g_idx, torch::Tensor& perm, +// torch::Tensor& workspace, +// vllm::ScalarType const& b_q_type, // init in linear +// int64_t size_m, int64_t size_n, int64_t size_k, +// bool is_k_full, bool has_zp, +// bool use_fp32_reduce, +// // new input +// void* c +// ) { + +template <typename T> +void gptq_marlin_gemm(T* a, int32_t* b_q_weight, + T* b_scales, int32_t* b_zeros, + int32_t* g_idx, int32_t* perm, + int32_t* workspace, + vllm::ScalarType const& b_q_type, // init in linear + int64_t size_m, int64_t size_n, int64_t size_k, + bool is_k_full, bool has_zp, + bool use_fp32_reduce, + // TODO: new args + T* c, + int num_groups, int group_size, + int b_q_weight_size1, + bool has_act_order, + cudaStream_t stream, + T* a_tmp, + float* c_tmp + ) { + + int pack_factor = 32 / b_q_type.size_bits(); + + int thread_k = -1; + // thread_n: `n` size of a thread_tile in `weights` (can usually be left as + // auto -1) + int thread_n = -1; + // sms: number of SMs to use for the kernel (can usually be left as auto -1) + int sms = -1; + + // Verify workspace size + TORCH_CHECK(size_n % marlin::min_thread_n == 0, "size_n = ", size_n, + ", is not divisible by min_thread_n = ", marlin::min_thread_n); + + // int dev = a.get_device(); + int dev = 0; // 选择第一个 GPU(设备 0) + cudaSetDevice(dev); // 设置当前 CUDA 设备 + marlin::marlin_mm<T>( + a, b_q_weight, c, + c_tmp, b_scales, + b_zeros, g_idx, perm, + a_tmp, size_m, size_n, size_k, + workspace, b_q_type, has_act_order, is_k_full, has_zp, + num_groups, group_size, dev, stream, + thread_k, thread_n, sms, marlin::max_par, use_fp32_reduce); + + return; +} + +// Explicit template instantiations +#ifdef ENABLE_DTYPE_FP16 +template void gptq_marlin_gemm<__half>(__half* a, int32_t* b_q_weight, + __half* b_scales, int32_t* b_zeros, + int32_t* g_idx, int32_t* perm, + int32_t* workspace, + vllm::ScalarType const& b_q_type, + int64_t size_m, int64_t size_n, int64_t size_k, + bool is_k_full, bool has_zp, + bool use_fp32_reduce, + __half* c, + int num_groups, int group_size, + int b_q_weight_size1, + bool has_act_order, + cudaStream_t stream, + __half* a_tmp, + float* c_tmp); +#endif + +#ifdef ENABLE_DTYPE_BF16 +template void gptq_marlin_gemm<__nv_bfloat16>(__nv_bfloat16* a, int32_t* b_q_weight, + __nv_bfloat16* b_scales, int32_t* b_zeros, + int32_t* g_idx, int32_t* perm, + int32_t* workspace, + vllm::ScalarType const& b_q_type, + int64_t size_m, int64_t size_n, int64_t size_k, + bool is_k_full, bool has_zp, + bool use_fp32_reduce, + __nv_bfloat16* c, + int num_groups, int group_size, + int b_q_weight_size1, + bool has_act_order, + cudaStream_t stream, + __nv_bfloat16* a_tmp, + float* c_tmp); +#endif diff --git a/examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cuh b/examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cuh new file mode 100644 index 00000000..c85e6c03 --- /dev/null +++ b/examples/CPM.cu/src/qgemm/gptq_marlin/gptq_marlin.cuh @@ -0,0 +1,27 @@ +#pragma once +#include <cuda_fp16.h> +#include "core/scalar_type.hpp" + +namespace marlin { + +int determine_reduce_max_m(int prob_m, int max_par); + +} + +template <typename T> +void gptq_marlin_gemm(T* a, int32_t* b_q_weight, + T* b_scales, int32_t* b_zeros, + int32_t* g_idx, int32_t* perm, + int32_t* workspace, + vllm::ScalarType const& b_q_type, // init in linear + int64_t size_m, int64_t size_n, int64_t size_k, + bool is_k_full, bool has_zp, + bool use_fp32_reduce, + T* c, + int num_groups, int group_size, + int b_q_weight_size1, + bool has_act_order, + cudaStream_t stream, + T* a_tmp, + float* c_tmp + ); \ No newline at end of file diff --git a/examples/CPM.cu/src/qgemm/gptq_marlin/marlin.cuh b/examples/CPM.cu/src/qgemm/gptq_marlin/marlin.cuh new file mode 100644 index 00000000..74ccbac5 --- /dev/null +++ b/examples/CPM.cu/src/qgemm/gptq_marlin/marlin.cuh @@ -0,0 +1,87 @@ +#pragma once + +#include <torch/all.h> + +#include <ATen/cuda/CUDAContext.h> +#include <c10/cuda/CUDAGuard.h> +#include <cuda.h> +#include <cuda_fp16.h> +#include <cuda_runtime.h> +#include <iostream> + +namespace marlin { + +// Marlin params + +// 8 warps are a good choice since every SM has 4 schedulers and having more +// than 1 warp per schedule allows some more latency hiding. At the same time, +// we want relatively few warps to have many registers per warp and small tiles. +static constexpr int default_threads = 256; + +static constexpr int pipe_stages = + 4; // 4 pipeline stages fit into shared memory + +static constexpr int min_thread_n = 64; +static constexpr int min_thread_k = 64; + +static constexpr int tile_size = 16; +static constexpr int max_par = 16; + +// Repack params +static constexpr int repack_stages = 8; + +static constexpr int repack_threads = 256; + +static constexpr int tile_k_size = tile_size; +static constexpr int tile_n_size = tile_k_size * 4; + +// Helpers +template <typename T, int n> +struct Vec { + T elems[n]; + __device__ T& operator[](int i) { return elems[i]; } +}; + +using I4 = Vec<int, 4>; + +constexpr int div_ceil(int a, int b) { return (a + b - 1) / b; } + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 +// No support for async +#else + +__device__ inline void cp_async4_pred(void* smem_ptr, const void* glob_ptr, + bool pred = true) { + const int BYTES = 16; + uint32_t smem = static_cast<uint32_t>(__cvta_generic_to_shared(smem_ptr)); + asm volatile( + "{\n" + " .reg .pred p;\n" + " setp.ne.b32 p, %0, 0;\n" + " @p cp.async.cg.shared.global [%1], [%2], %3;\n" + "}\n" ::"r"((int)pred), + "r"(smem), "l"(glob_ptr), "n"(BYTES)); +} + +__device__ inline void cp_async4(void* smem_ptr, const void* glob_ptr) { + const int BYTES = 16; + uint32_t smem = static_cast<uint32_t>(__cvta_generic_to_shared(smem_ptr)); + asm volatile( + "{\n" + " cp.async.cg.shared.global [%0], [%1], %2;\n" + "}\n" ::"r"(smem), + "l"(glob_ptr), "n"(BYTES)); +} + +__device__ inline void cp_async_fence() { + asm volatile("cp.async.commit_group;\n" ::); +} + +template <int n> +__device__ inline void cp_async_wait() { + asm volatile("cp.async.wait_group %0;\n" ::"n"(n)); +} + +#endif + +} // namespace marlin diff --git a/examples/CPM.cu/src/qgemm/gptq_marlin/marlin_dtypes.cuh b/examples/CPM.cu/src/qgemm/gptq_marlin/marlin_dtypes.cuh new file mode 100644 index 00000000..4f4522b2 --- /dev/null +++ b/examples/CPM.cu/src/qgemm/gptq_marlin/marlin_dtypes.cuh @@ -0,0 +1,75 @@ + +#define _data_types_cuh +#include "marlin.cuh" +#include <cuda_fp16.h> +#include <cuda_bf16.h> + +namespace marlin { + +template <typename scalar_t> +class ScalarType {}; + +template <> +class ScalarType<half> { + public: + using scalar_t = half; + using scalar_t2 = half2; + + // Matrix fragments for tensor core instructions; their precise layout is + // documented here: + // https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#matrix-fragments-for-mma-m16n8k16-with-floating-point-type + using FragA = Vec<half2, 4>; + using FragB = Vec<half2, 2>; + using FragC = Vec<float, 4>; + using FragS = Vec<half2, 1>; + using FragZP = Vec<half2, 4>; + + static __device__ float inline num2float(const half x) { + return __half2float(x); + } + + static __device__ half2 inline num2num2(const half x) { + return __half2half2(x); + } + + static __device__ half2 inline nums2num2(const half x1, const half x2) { + return __halves2half2(x1, x2); + } + + static __host__ __device__ half inline float2num(const float x) { + return __float2half(x); + } +}; + +template <> +class ScalarType<nv_bfloat16> { + public: + using scalar_t = nv_bfloat16; + using scalar_t2 = nv_bfloat162; + + using FragA = Vec<nv_bfloat162, 4>; + using FragB = Vec<nv_bfloat162, 2>; + using FragC = Vec<float, 4>; + using FragS = Vec<nv_bfloat162, 1>; + using FragZP = Vec<nv_bfloat162, 4>; + + static __device__ float inline num2float(const nv_bfloat16 x) { + return __bfloat162float(x); + } + + static __device__ nv_bfloat162 inline num2num2(const nv_bfloat16 x) { + return __bfloat162bfloat162(x); + } + + static __device__ nv_bfloat162 inline nums2num2(const nv_bfloat16 x1, + const nv_bfloat16 x2) { + return __halves2bfloat162(x1, x2); + } + + static __host__ __device__ nv_bfloat16 inline float2num(const float x) { + return __float2bfloat16(x); + } +}; + +} // namespace marlin + diff --git a/examples/CPM.cu/src/signal_handler.cu b/examples/CPM.cu/src/signal_handler.cu new file mode 100644 index 00000000..6d26a661 --- /dev/null +++ b/examples/CPM.cu/src/signal_handler.cu @@ -0,0 +1,126 @@ +#include "signal_handler.cuh" +#include <dlfcn.h> + +// 保存原有信号处理器的全局变量 +std::map<int, void(*)(int)> original_handlers; + +void init_signal_handlers() { + // 保存并设置信号处理器 + original_handlers[SIGSEGV] = signal(SIGSEGV, signal_handler); // 段错误 + original_handlers[SIGABRT] = signal(SIGABRT, signal_handler); // 异常终止 + original_handlers[SIGFPE] = signal(SIGFPE, signal_handler); // 浮点异常 + original_handlers[SIGILL] = signal(SIGILL, signal_handler); // 非法指令 +#ifdef SIGBUS + original_handlers[SIGBUS] = signal(SIGBUS, signal_handler); // 总线错误 (某些系统可能没有) +#endif + original_handlers[SIGTERM] = signal(SIGTERM, signal_handler); // 终止信号 + original_handlers[SIGINT] = signal(SIGINT, signal_handler); // 中断信号 (Ctrl+C) + + std::cout << "Signal handlers initialized for common exceptions" << std::endl; +} + +// TODO 修复和python traceback的协作 +void signal_handler(int sig) { + const char* signal_name = "Unknown"; + + switch (sig) { + case SIGSEGV: signal_name = "SIGSEGV (Segmentation fault)"; break; + case SIGABRT: signal_name = "SIGABRT (Abort)"; break; + case SIGFPE: signal_name = "SIGFPE (Floating point exception)"; break; + case SIGILL: signal_name = "SIGILL (Illegal instruction)"; break; +#ifdef SIGBUS + case SIGBUS: signal_name = "SIGBUS (Bus error)"; break; +#endif + case SIGTERM: signal_name = "SIGTERM (Termination)"; break; + case SIGINT: signal_name = "SIGINT (Interrupt)"; break; + } + + std::cerr << "\n=== SIGNAL CAUGHT ===" << std::endl; + std::cerr << "Signal: " << signal_name << " (" << sig << ")" << std::endl; + std::cerr << "Process ID: " << getpid() << std::endl; + std::cerr << "====================" << std::endl; + + // 打印栈帧信息 + print_stack_trace(50); + + std::cerr << "\nProgram terminated due to signal " << sig << std::endl; + std::cerr.flush(); + std::cout.flush(); + + // 查找并调用原有的信号处理器 + auto it = original_handlers.find(sig); + if (it != original_handlers.end() && it->second != SIG_DFL && it->second != SIG_IGN) { + std::cerr << "Calling original signal handler..." << std::endl; + it->second(sig); + } + + // 恢复默认信号处理并重新发送信号 + std::cerr << "Restoring default handler..." << std::endl; + signal(sig, SIG_DFL); + raise(sig); +} + +void print_stack_trace(int max_frames) { + void **array = new void*[max_frames]; + + // 获取调用栈 + int size = backtrace(array, max_frames); + char **strings = backtrace_symbols(array, size); + + if (strings == nullptr) { + std::cerr << "Failed to get backtrace symbols (backtrace may not be available on this system)" << std::endl; + delete[] array; + return; + } + + // 添加基地址信息 + Dl_info dl_info; + if (dladdr((void*)print_stack_trace, &dl_info)) { + std::cerr << "\n=== MODULE INFO ===" << std::endl; + std::cerr << "Base address: " << dl_info.dli_fbase << std::endl; + std::cerr << "Module path: " << dl_info.dli_fname << std::endl; + } + + std::cerr << "=== STACK TRACE ===" << std::endl; + std::cerr << "Call stack (" << size << " frames):" << std::endl; + + for (int i = 0; i < size; i++) { + std::string symbol_info = get_symbol_name(strings[i]); + std::cerr << "[" << i << "] " << symbol_info << std::endl; + } + + std::cerr << "==================" << std::endl; + + free(strings); + delete[] array; +} + +std::string get_symbol_name(const char* symbol) { + std::string result(symbol); + + // 查找函数名的开始和结束位置 + char *start = strstr((char*)symbol, "("); + char *end = strstr((char*)symbol, "+"); + + if (start && end && start < end) { + *end = '\0'; + char *function_name = start + 1; + + // 尝试demangle C++符号名 + int status; + char *demangled = abi::__cxa_demangle(function_name, 0, 0, &status); + + if (status == 0 && demangled) { + // 成功demangle + std::string prefix(symbol, start - symbol + 1); + std::string suffix = end + 1; + result = prefix + demangled + "+" + suffix; + free(demangled); + } else { + // demangle失败,恢复原始字符串 + *end = '+'; + } + } + + return result; +} \ No newline at end of file diff --git a/examples/CPM.cu/src/signal_handler.cuh b/examples/CPM.cu/src/signal_handler.cuh new file mode 100644 index 00000000..226f9849 --- /dev/null +++ b/examples/CPM.cu/src/signal_handler.cuh @@ -0,0 +1,26 @@ +#pragma once + +#include <signal.h> +#include <cstdio> +#include <cstdlib> +#include <unistd.h> +#include <execinfo.h> +#include <cxxabi.h> +#include <string> +#include <iostream> +#include <map> + +// 保存原有信号处理器 +extern std::map<int, void(*)(int)> original_handlers; + +// 初始化signal处理器 +void init_signal_handlers(); + +// signal处理函数 +void signal_handler(int sig); + +// 打印栈帧信息 +void print_stack_trace(int max_frames = 50); + +// 获取符号名称(带demangling) +std::string get_symbol_name(const char* symbol); \ No newline at end of file diff --git a/examples/CPM.cu/src/trait.cuh b/examples/CPM.cu/src/trait.cuh new file mode 100644 index 00000000..188a4986 --- /dev/null +++ b/examples/CPM.cu/src/trait.cuh @@ -0,0 +1,37 @@ +#pragma once +#include <cuda_runtime.h> +#include <cuda_fp16.h> +#include <cuda_bf16.h> + +template <typename T> +struct TypeTraits; + +template <> +struct TypeTraits<__half> { + using half2 = __half2; + + static __inline__ cudaDataType_t cublas_type() { + return CUDA_R_16F; + } + + static __inline__ int type_code() { + return 0; + } + + static __host__ __device__ __inline__ constexpr __half inf() { const short v = 0x7c00; return *(reinterpret_cast<const __half *>(&(v))); } +}; + +template <> +struct TypeTraits<__nv_bfloat16> { + using half2 = __nv_bfloat162; + + static __inline__ cudaDataType_t cublas_type() { + return CUDA_R_16BF; + } + + static __inline__ int type_code() { + return 1; + } + + static __host__ __device__ __inline__ constexpr __nv_bfloat16 inf() { const short v = 0x7f80; return *(reinterpret_cast<const __nv_bfloat16 *>(&(v))); } +}; diff --git a/examples/CPM.cu/src/utils.cu b/examples/CPM.cu/src/utils.cu new file mode 100644 index 00000000..fb19554e --- /dev/null +++ b/examples/CPM.cu/src/utils.cu @@ -0,0 +1,25 @@ +#include "perf.cuh" +#include "utils.cuh" +#include "signal_handler.cuh" + +bool initialized = false; + +Stream calc_stream; + +int graphCreated_padding_length = -1; +int graphCreated_input_length = -1; +cudaGraph_t graph; +cudaGraphExec_t graphExec; + +void init_resources() { + if (initialized) return; + + // 初始化signal处理器 + init_signal_handlers(); + perf_init(); + + cudaCheck(cudaStreamCreate(&calc_stream.stream)); + cublasCheck(cublasCreate(&calc_stream.cublas_handle)); + cublasCheck(cublasSetStream(calc_stream.cublas_handle, calc_stream.stream)); + initialized = true; +} diff --git a/examples/CPM.cu/src/utils.cuh b/examples/CPM.cu/src/utils.cuh new file mode 100644 index 00000000..2acf7291 --- /dev/null +++ b/examples/CPM.cu/src/utils.cuh @@ -0,0 +1,60 @@ +#pragma once +#include <cmath> +#include <cstdio> +#include <cstdlib> +#include <iostream> +#include <iomanip> +#include <cuda_runtime.h> +#include <cublas_v2.h> +#include "signal_handler.cuh" + +extern bool initialized; + +struct Stream { + cudaStream_t stream; + cublasHandle_t cublas_handle; +}; + +extern Stream calc_stream; + +extern int graphCreated_padding_length; +extern int graphCreated_input_length; +extern cudaGraph_t graph; +extern cudaGraphExec_t graphExec; + +#define CEIL_DIV(M, N) (((M) + (N) - 1) / (N)) +#define ROUND_UP(M, N) (((M) + (N) - 1) / (N) * (N)) + +inline const char* cublasGetErrorString(cublasStatus_t status) { + switch(status) { + case CUBLAS_STATUS_SUCCESS: return "CUBLAS_STATUS_SUCCESS"; + case CUBLAS_STATUS_NOT_INITIALIZED: return "CUBLAS_STATUS_NOT_INITIALIZED"; + case CUBLAS_STATUS_ALLOC_FAILED: return "CUBLAS_STATUS_ALLOC_FAILED"; + case CUBLAS_STATUS_INVALID_VALUE: return "CUBLAS_STATUS_INVALID_VALUE"; + case CUBLAS_STATUS_ARCH_MISMATCH: return "CUBLAS_STATUS_ARCH_MISMATCH"; + case CUBLAS_STATUS_MAPPING_ERROR: return "CUBLAS_STATUS_MAPPING_ERROR"; + case CUBLAS_STATUS_EXECUTION_FAILED: return "CUBLAS_STATUS_EXECUTION_FAILED"; + case CUBLAS_STATUS_INTERNAL_ERROR: return "CUBLAS_STATUS_INTERNAL_ERROR"; + case CUBLAS_STATUS_NOT_SUPPORTED: return "CUBLAS_STATUS_NOT_SUPPORTED"; + case CUBLAS_STATUS_LICENSE_ERROR: return "CUBLAS_STATUS_LICENSE_ERROR"; + default: return "Unknown cuBLAS error"; + } +} + +#define cudaCheck(err) \ + if (err != cudaSuccess) { \ + std::cerr << "cuda error at " << __FILE__ << ":" << __LINE__ << std::endl; \ + std::cerr << cudaGetErrorString(err) << std::endl; \ + print_stack_trace(); \ + exit(EXIT_FAILURE); \ + } + +#define cublasCheck(err) \ + if (err != CUBLAS_STATUS_SUCCESS) { \ + std::cerr << "cuBLAS error at " << __FILE__ << ":" << __LINE__ << std::endl; \ + std::cerr << "Error code: " << err << " (" << cublasGetErrorString(err) << ")" << std::endl; \ + print_stack_trace(); \ + exit(EXIT_FAILURE); \ + } + +void init_resources(); diff --git a/examples/CPM.cu/src/utilsq.cuh b/examples/CPM.cu/src/utilsq.cuh new file mode 100644 index 00000000..137e4901 --- /dev/null +++ b/examples/CPM.cu/src/utilsq.cuh @@ -0,0 +1,421 @@ +#pragma once +#include <cuda_runtime.h> +#include <cuda_fp16.h> +#include <cuda_bf16.h> + +template<typename T> struct num_elems; +template <> struct num_elems<float> { static constexpr int value = 1; }; +template <> struct num_elems<float2> { static constexpr int value = 2; }; +template <> struct num_elems<float4> { static constexpr int value = 4; }; +template <> struct num_elems<half> { static constexpr int value = 1; }; +template <> struct num_elems<half2> { static constexpr int value = 2; }; +template <> struct num_elems<__nv_bfloat16> { static constexpr int value = 1; }; +template <> struct num_elems<__nv_bfloat162> { static constexpr int value = 2; }; + +template<typename T, int num> struct packed_as; +template<typename T> struct packed_as<T, 1> { using type = T; }; +template<> struct packed_as<half, 2> { using type = half2; }; +template<> struct packed_as<float, 2> { using type = float2; }; +template<> struct packed_as<int8_t, 2> { using type = int16_t; }; +template<> struct packed_as<int32_t, 2> { using type = int2; }; +template<> struct packed_as<half2, 1> { using type = half; }; +template<> struct packed_as<float2, 1> { using type = float; }; +// BF16 +template<> struct packed_as<__nv_bfloat16, 2> { using type = __nv_bfloat162; }; +template<> struct packed_as<__nv_bfloat162, 1> { using type = __nv_bfloat16; }; + +inline __device__ float2 operator*(float2 a, float2 b) { return make_float2(a.x * b.x, a.y * b.y); } +inline __device__ float2 operator+(float2 a, float2 b) { return make_float2(a.x + b.x, a.y + b.y); } +inline __device__ float2 operator-(float2 a, float2 b) { return make_float2(a.x - b.x, a.y - b.y); } + +inline __device__ float2 operator*(float2 a, float b) { return make_float2(a.x * b, a.y * b); } +inline __device__ float2 operator+(float2 a, float b) { return make_float2(a.x + b, a.y + b); } +inline __device__ float2 operator-(float2 a, float b) { return make_float2(a.x - b, a.y - b); } + + +static inline __device__ int8_t float_to_int8_rn(float x) +{ + uint32_t dst; + asm volatile("cvt.rni.sat.s8.f32 %0, %1;" : "=r"(dst) : "f"(x)); + return reinterpret_cast<const int8_t&>(dst); +} + +template<typename T> +inline __device__ T ldg(const T* val) { + return __ldg(val); +} + + + +#define bf1622float2 __bfloat1622float2 +#define float22bf162 __float22bfloat162_rn +#define bf162bf162 __bfloat162bfloat162 +inline __device__ int16_t bf1622int16(__nv_bfloat162 val) +{ +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + float2 f_val; + f_val.x = max(min(__low2float(val), 127.f), -128.f); + f_val.y = max(min(__high2float(val), 127.f), -128.f); + + union + { + int8_t int8[2]; + int16_t int16; + }; + + int8[0] = static_cast<int8_t>(static_cast<short>(f_val.x)); + int8[1] = static_cast<int8_t>(static_cast<short>(f_val.y)); + return int16; +#else + val = __hmin2(val, make_bfloat162(127., 127.)); + val = __hmax2(val, make_bfloat162(-128., -128.)); + + union + { + int8_t int8[2]; + int16_t int16; + }; + + int8[0] = static_cast<int8_t>(static_cast<short>(val.x)); + int8[1] = static_cast<int8_t>(static_cast<short>(val.y)); + return int16; +} + +template<> +inline __device__ __nv_bfloat162 ldg(const __nv_bfloat162* val) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + return val[0]; +#else + return __ldg(val); +#endif +} + +template<> +inline __device__ __nv_bfloat16 ldg(const __nv_bfloat16* val) { +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ < 800 + return val[0]; +#else + return __ldg(val); +#endif +} + +template <typename T_OUT, typename T_IN> +__device__ inline T_OUT cuda_cast(T_IN val) +{ + return val; +} + +template <> +__device__ inline float2 cuda_cast<float2, int2>(int2 val) +{ + return make_float2(val.x, val.y); +} + +template <> +__device__ inline float2 cuda_cast<float2, float>(float val) +{ + return make_float2(val, val); +} + +template <> +__device__ inline float2 cuda_cast<float2, half2>(half2 val) +{ + return __half22float2(val); +} + +template <> +__device__ inline half2 cuda_cast<half2, float2>(float2 val) +{ + return __float22half2_rn(val); +} + +template <> +__device__ inline half2 cuda_cast<half2, float>(float val) +{ + return __float2half2_rn(val); +} + +template <> +__device__ inline half2 cuda_cast<half2, half>(half val) +{ + return __half2half2(val); +} + +template <> +__device__ inline int8_t cuda_cast<int8_t, half>(half val) +{ + union + { + int8_t int8[2]; + int16_t int16; + }; + + union + { + half fp16; + int16_t int16_in; + }; + + fp16 = val; + asm volatile("cvt.rni.sat.s8.f16 %0, %1;" : "=h"(int16) : "h"(int16_in)); + return int8[0]; +} + +template <> +__device__ inline int16_t cuda_cast<int16_t, half2>(half2 val) +{ + union + { + int8_t int8[2]; + int16_t int16; + }; + + int8[0] = cuda_cast<int8_t>(val.x); + int8[1] = cuda_cast<int8_t>(val.y); + return int16; +} + +template <> +__device__ inline int8_t cuda_cast<int8_t, float>(float val) +{ + union + { + int8_t int8[2]; + int16_t int16; + }; + + asm volatile("cvt.rni.sat.s8.f32 %0, %1;" : "=h"(int16) : "f"(val)); + return int8[0]; +} + +template <> +__device__ inline int16_t cuda_cast<int16_t, float2>(float2 val) +{ + union + { + int8_t int8[2]; + int16_t int16; + }; + + int8[0] = cuda_cast<int8_t>(val.x); + int8[1] = cuda_cast<int8_t>(val.y); + return int16; +} + +template <> +__device__ inline half2 cuda_cast<half2, int16_t>(int16_t val) +{ + union + { + int8_t int8[2]; + int16_t int16; + }; + + int16 = val; + return make_half2(int8[0], int8[1]); +} + +template <> +__device__ inline float2 cuda_cast<float2, int16_t>(int16_t val) +{ + union + { + int8_t int8[2]; + int16_t int16; + }; + + int16 = val; + return make_float2(int8[0], int8[1]); +} + +// #ifdef ENABLE_BF16 +template <> +__device__ inline __nv_bfloat16 cuda_cast(int32_t val) +{ + return static_cast<float>(val); +} + +template <> +__device__ inline __nv_bfloat16 cuda_cast(int8_t val) +{ + return static_cast<float>(val); +} + +template <> +__device__ inline int8_t cuda_cast(__nv_bfloat16 val) +{ + return static_cast<float>(val); +} + +template <> +__device__ inline float cuda_cast<float, __nv_bfloat16>(__nv_bfloat16 val) +{ + return __bfloat162float(val); +} + +template <> +__device__ inline float2 cuda_cast<float2, __nv_bfloat162>(__nv_bfloat162 val) +{ + return bf1622float2(val); +} + +template <> +__device__ inline half cuda_cast<half, __nv_bfloat16>(__nv_bfloat16 val) +{ + return __float2half(__bfloat162float(val)); +} + +template <> +__device__ inline int16_t cuda_cast<int16_t, __nv_bfloat162>(__nv_bfloat162 val) +{ + return bf1622int16(val); +} + +template <> +__device__ inline __nv_bfloat16 cuda_cast<__nv_bfloat16, float>(float val) +{ + return __float2bfloat16(val); +} + +template <> +__device__ inline __nv_bfloat16 cuda_cast<__nv_bfloat16, half>(half val) +{ + return __float2bfloat16(__half2float(val)); +} + +template <> +__device__ inline __nv_bfloat162 cuda_cast<__nv_bfloat162, __nv_bfloat16>(__nv_bfloat16 val) +{ + return bf162bf162(val); +} + +template <> +__device__ inline __nv_bfloat162 cuda_cast<__nv_bfloat162, float>(float val) +{ + return __float2bfloat162_rn(val); +} + +template <> +__device__ inline __nv_bfloat162 cuda_cast<__nv_bfloat162, float2>(float2 val) +{ + return float22bf162(val); +} + +template <> +__device__ inline __nv_bfloat162 cuda_cast<__nv_bfloat162, int16_t>(int16_t val) +{ + union + { + int8_t int8[2]; + int16_t int16; + }; + + int16 = val; + __nv_bfloat162 res; + res.x = cuda_cast<__nv_bfloat16>(int8[0]); + res.y = cuda_cast<__nv_bfloat16>(int8[1]); + return res; +} + +template <> +__device__ inline __nv_bfloat162 cuda_cast<__nv_bfloat162, half2>(half2 val) +{ + return float22bf162(__half22float2(val)); +} + +// #endif // ENABLE BF16 + +template <typename To, typename Ti> +__device__ inline To cuda_sum(Ti val) +{ + return cuda_cast<To>(val); +}; + +template <typename To> +__device__ inline To cuda_sum(float2 val) +{ + return cuda_cast<To>(val.x + val.y); +}; + +// Unary maximum: compute the max of a vector type +template <typename To, typename Ti> +__device__ inline To cuda_max(Ti val) +{ + return cuda_cast<To>(val); +}; + +template <> +__device__ inline float cuda_max(float2 val) +{ + return fmaxf(val.x, val.y); +} + +template <> +__device__ inline half cuda_max(half2 val) +{ + return __hmax(val.x, val.y); +} + +// #ifdef ENABLE_BF16 +template <> +__device__ inline __nv_bfloat16 cuda_max(__nv_bfloat162 val) +{ +#if (defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 800)) + return __hmax(val.x, val.y); +#endif +} +#endif + +// Binary maximum: compute the max of two scalar types +template <typename T> +__device__ inline T cuda_max(T val1, T val2) +{ + return (val1 > val2) ? val1 : val2; +} + +template <typename T> +__device__ inline T cuda_abs(T val) +{ + assert(false); + return {}; +} + +template <> +__device__ inline float cuda_abs(float val) +{ + return fabs(val); +} + +template <> +__device__ inline float2 cuda_abs(float2 val) +{ + return make_float2(fabs(val.x), fabs(val.y)); +} + +template <> +__device__ inline half cuda_abs(half val) +{ + return __habs(val); +} + +template <> +__device__ inline half2 cuda_abs(half2 val) +{ + return __habs2(val); +} + +// #ifdef ENABLE_BF16 + +#if __CUDA_ARCH__ >= 800 || !defined(__CUDA_ARCH__) +template <> +__device__ inline __nv_bfloat16 cuda_abs(__nv_bfloat16 val) +{ + return __habs(val); +} + +template <> +__device__ inline __nv_bfloat162 cuda_abs(__nv_bfloat162 val) +{ + return __habs2(val); +} +#endif \ No newline at end of file diff --git a/examples/CPM.cu/tests/long_prompt_gen.py b/examples/CPM.cu/tests/long_prompt_gen.py new file mode 100644 index 00000000..5eaa6ddf --- /dev/null +++ b/examples/CPM.cu/tests/long_prompt_gen.py @@ -0,0 +1,110 @@ +import random +import string +import os +import glob +import argparse + +def collect_code_files(extensions=('.cpp', '.c', '.h', '.hpp'), + dirs=('src', 'include', 'ggml/src', 'examples', 'tools'), + max_length=500000, + verbose=True): + """ + Collect code file contents from repository + :param extensions: File extensions to collect + :param dirs: Directories to search + :param max_length: Maximum character count + :param verbose: Whether to print detailed information + :return: Concatenated code text and total character count + """ + all_content = [] + total_chars = 0 + file_count = 0 + + # Find all matching file paths + all_files = [] + for directory in dirs: + if not os.path.exists(directory): + if verbose: + print(f"Directory does not exist: {directory}") + continue + + for ext in extensions: + pattern = os.path.join(directory, f'**/*{ext}') + for file_path in glob.glob(pattern, recursive=True): + all_files.append(file_path) + + # Randomly shuffle file order + random.shuffle(all_files) + + # Read file contents + for file_path in all_files: + try: + with open(file_path, 'r', encoding='utf-8', errors='ignore') as f: + content = f.read() + file_header = f"\n\n----- FILE: {file_path} -----\n\n" + + # Check if adding this file would exceed maximum length limit + remaining_chars = max_length - total_chars if max_length > 0 else float('inf') + + if len(file_header) + len(content) > remaining_chars: + # Need to truncate file + if remaining_chars > len(file_header) + 100: # Ensure at least 100 characters of content + truncated_content = content[:remaining_chars - len(file_header)] + truncated_content += "\n\n... (file content truncated) ..." + + all_content.append(file_header) + all_content.append(truncated_content) + total_chars += len(file_header) + len(truncated_content) + file_count += 1 + + if verbose: + print(f"Added file (truncated): {file_path}, current total chars: {total_chars}, file count: {file_count}") + break # Reached maximum length, exit loop + else: + # Remaining space too small to add meaningful content + if verbose: + print(f"Skipped file: {file_path}, insufficient remaining space") + continue + else: + # Add file completely + all_content.append(file_header) + all_content.append(content) + total_chars += len(file_header) + len(content) + file_count += 1 + + if verbose: + print(f"Added file: {file_path}, current total chars: {total_chars}, file count: {file_count}") + + if max_length > 0 and total_chars >= max_length: + break # Reached maximum length, exit loop + except Exception as e: + if verbose: + print(f"Error reading file {file_path}: {e}") + + return ''.join(all_content), total_chars, file_count + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Generate long code prompt file') + parser.add_argument('--output', '-o', type=str, default="prompt.txt", help='Output file name') + parser.add_argument('--length', '-l', type=int, default=350000, help='Maximum character count') + parser.add_argument('--question', "-q", type=str, default="\nSummarize the code", help='Question to ask') + + args = parser.parse_args() + + # Use default values directly + dirs = ['src', 'cpmcu', 'scripts'] + extensions = ['.cpp', '.c', '.h', '.hpp', '.py'] + + # Collect code files + code_content, content_length, file_count = collect_code_files( + extensions=extensions, + dirs=dirs, + max_length=args.length, + ) + + # Add question + final_content = code_content + f"\n\n{args.question}" + + with open(args.output, "w", encoding="utf-8") as f: + f.write(final_content) + print(f"Generated {args.output}, total length: {len(final_content)} characters, contains {file_count} files") \ No newline at end of file diff --git a/examples/CPM.cu/tests/test_generate.py b/examples/CPM.cu/tests/test_generate.py new file mode 100644 index 00000000..d4012f5c --- /dev/null +++ b/examples/CPM.cu/tests/test_generate.py @@ -0,0 +1,544 @@ +import torch +from cpmcu.llm import LLM +from cpmcu.llm_w4a16_gptq_marlin import W4A16GPTQMarlinLLM +from cpmcu.speculative import LLM_with_eagle +from cpmcu.speculative.eagle_base_quant.eagle_base_w4a16_marlin_gptq import W4A16GPTQMarlinLLM_with_eagle +from transformers import AutoTokenizer +import time +import numpy as np +import argparse +import sys +import os +from huggingface_hub import snapshot_download + +# Default Configuration +default_config = { + 'test_minicpm4': True, + 'use_stream': True, + 'apply_eagle': True, + 'apply_quant': True, + 'apply_sparse': True, + 'apply_eagle_quant': True, + "minicpm4_yarn": True, # TODO default is True for long context test, better implementation + 'frspec_vocab_size': 32768, + 'eagle_window_size': 8 * 128, + 'eagle_num_iter': 2, + 'eagle_topk_per_iter': 10, + 'eagle_tree_size': 12, + 'apply_compress_lse': True, + 'sink_window_size': 1, + 'block_window_size': 8, + 'sparse_topk_k': 64, + "sparse_switch": 1, + 'num_generate': 256, + 'chunk_length': 2048, + 'memory_limit': 0.9, + 'cuda_graph': True, + 'dtype': torch.float16, + 'use_terminators': True, + "temperature": 0.0, + "random_seed": None, +} + +# Demo Configuration: Only for MiniCPM4 demo, will be deleted after release +demo_config = { + 'use_enter': False, + 'use_decode_enter': False, +} + +# Combined Default Configurations +default_config = {**default_config, **demo_config} + +def create_argument_parser(): + """Create and configure argument parser""" + parser = argparse.ArgumentParser(description='Generate text using LLM models') + + # Basic arguments + parser.add_argument('--path-prefix', '--path_prefix', '-p', type=str, default='openbmb', + help='Path prefix for model directories, you can use openbmb to download models, or your own path (default: openbmb)') + + # Prompt arguments + parser.add_argument('--prompt-file', '--prompt_file', type=str, default=None, + help='Path to prompt file (default: None)') + parser.add_argument('--prompt-text', '--prompt_text', type=str, default=None, + help='Direct prompt text (default: None)') + parser.add_argument('--prompt-haystack', '--prompt_haystack', type=int, default=15, + help='Generate haystack prompt with specified length in thousands (e.g., 120 for 120k tokens)') + + # Model configuration boolean arguments + parser.add_argument('--test-minicpm4', '--test_minicpm4', action='store_true', + help='Use MiniCPM4 model') + parser.add_argument('--no-test-minicpm4', '--no_test_minicpm4', action='store_false', dest='test_minicpm4', + help='Do not use MiniCPM4 model') + parser.add_argument('--use-stream', '--use_stream', action='store_true', + help='Use stream generation') + parser.add_argument('--no-use-stream', '--no_use_stream', action='store_false', dest='use_stream', + help='Do not use stream generation') + parser.add_argument('--apply-eagle', '--apply_eagle', action='store_true', + help='Use Eagle speculative decoding') + parser.add_argument('--no-apply-eagle', '--no_apply_eagle', action='store_false', dest='apply_eagle', + help='Do not use Eagle speculative decoding') + parser.add_argument('--apply-quant', '--apply_quant', action='store_true', + help='Use quantized model') + parser.add_argument('--no-apply-quant', '--no_apply_quant', action='store_false', dest='apply_quant', + help='Do not use quantized model') + parser.add_argument('--apply-sparse', '--apply_sparse', action='store_true', + help='Use sparse attention') + parser.add_argument('--no-apply-sparse', '--no_apply_sparse', action='store_false', dest='apply_sparse', + help='Do not use sparse attention') + parser.add_argument('--apply-eagle-quant', '--apply_eagle_quant', action='store_true', + help='Use quantized Eagle model') + parser.add_argument('--no-apply-eagle-quant', '--no_apply_eagle_quant', action='store_false', dest='apply_eagle_quant', + help='Do not use quantized Eagle model') + parser.add_argument('--apply-compress-lse', '--apply_compress_lse', action='store_true', + help='Apply LSE compression, only support on sparse attention, this will compress the stage 1 kv twice for LSE pre-computing') + parser.add_argument('--no-apply-compress-lse', '--no_apply_compress_lse', action='store_false', dest='apply_compress_lse', + help='Do not apply LSE compression') + parser.add_argument('--cuda-graph', '--cuda_graph', action='store_true', + help='Use CUDA graph optimization') + parser.add_argument('--no-cuda-graph', '--no_cuda_graph', action='store_false', dest='cuda_graph', + help='Do not use CUDA graph optimization') + parser.add_argument('--use-teminators', '--use_terminators', action='store_true', + help='Use teminators, if not specified, the generation will not be interrupted') + parser.add_argument('--no-use-teminators', '--no_use_terminators', action='store_false', dest='use_terminators', + help='Do not use teminators') + parser.add_argument('--minicpm4-yarn', '--minicpm4_yarn', action='store_true', + help='Use MiniCPM4 YARN, this is for very long context, such as > 32/64k tokens') + parser.add_argument('--no-minicpm4-yarn', '--no_minicpm4_yarn', action='store_false', dest='minicpm4_yarn', + help='Do not use MiniCPM4 YARN') + + # Model configuration numeric arguments + parser.add_argument('--frspec-vocab-size', '--frspec_vocab_size', type=int, default=None, + help='Frequent speculation vocab size (default: from default_config)') + parser.add_argument('--eagle-window-size', '--eagle_window_size', type=int, default=None, + help='Eagle window size (default: from default_config)') + parser.add_argument('--eagle-num-iter', '--eagle_num_iter', type=int, default=None, + help='Eagle number of iterations (default: from default_config)') + parser.add_argument('--eagle-topk-per-iter', '--eagle_topk_per_iter', type=int, default=None, + help='Eagle top-k per iteration (default: from default_config)') + parser.add_argument('--eagle-tree-size', '--eagle_tree_size', type=int, default=None, + help='Eagle tree size (default: from default_config)') + parser.add_argument('--sink-window-size', '--sink_window_size', type=int, default=None, + help='Sink window size of sparse attention (default: from default_config)') + parser.add_argument('--block-window-size', '--block_window_size', type=int, default=None, + help='Block window size of sparse attention (default: from default_config)') + parser.add_argument('--sparse-topk-k', '--sparse_topk_k', type=int, default=None, + help='Sparse attention top-k (default: from default_config)') + parser.add_argument('--sparse-switch', '--sparse_switch', type=int, default=None, + help='Context length of dense and sparse attention switch (default: from default_config)') + parser.add_argument('--num-generate', '--num_generate', type=int, default=None, + help='Number of tokens to generate (default: from default_config)') + parser.add_argument('--chunk-length', '--chunk_length', type=int, default=None, + help='Chunk length for prefilling (default: from default_config)') + parser.add_argument('--memory-limit', '--memory_limit', type=float, default=None, + help='Memory limit for use (default: from default_config)') + parser.add_argument('--temperature', '--temperature', type=float, default=None, + help='Temperature for processing (default: from default_config)') + parser.add_argument('--dtype', type=str, default=None, choices=['float16', 'bfloat16'], + help='Model dtype (default: from default_config)') + parser.add_argument('--random-seed', '--random_seed', type=int, default=None, + help='Random seed for processing (default: from default_config)') + # Demo arguments + parser.add_argument('--use-enter', '--use_enter', action='store_true', + help='Use enter to generate') + parser.add_argument('--no-use-enter', '--no_use_enter', action='store_false', dest='use_enter', + help='Do not use enter to generate') + parser.add_argument('--use-decode-enter', '--use_decode_enter', action='store_true', + help='Use enter before decode phase') + parser.add_argument('--no-use-decode-enter', '--no_use_decode_enter', action='store_false', dest='use_decode_enter', + help='Do not use enter before decode phase') + + return parser + +def parse_and_merge_config(default_config): + """Parse arguments and merge with default configuration""" + parser = create_argument_parser() + args = parser.parse_args() + + # Set default values to None for boolean arguments that weren't specified + bool_args = [key for key, value in default_config.items() if isinstance(value, bool)] + for arg in bool_args: + # Convert underscores to hyphens for command line argument names + arg_hyphen = arg.replace('_', '-') + # Check for both formats (hyphen and underscore) + arg_specified = (f'--{arg_hyphen}' in sys.argv or f'--no-{arg_hyphen}' in sys.argv or + f'--{arg}' in sys.argv or f'--no-{arg}' in sys.argv) + if not arg_specified: + setattr(args, arg, None) + + # Override default config with command line arguments + config = default_config.copy() + + # Define parameter mappings for automatic override (exclude dtype which needs special handling) + auto_override_params = [key for key in default_config.keys() if key != 'dtype'] + + # Override config values if arguments are provided + for param in auto_override_params: + arg_value = getattr(args, param) + if arg_value is not None: + config[param] = arg_value + + # Handle dtype separately due to type conversion + if args.dtype is not None: + config['dtype'] = torch.float16 if args.dtype == 'float16' else torch.bfloat16 + + return args, config + +def check_or_download_model(path): + if os.path.exists(path): + return path + else: + cache_dir = snapshot_download(path) + return cache_dir + +def get_model_paths(path_prefix, config): + """Get model paths based on configuration""" + if config['test_minicpm4']: + if config['apply_eagle_quant']: + eagle_repo_id = f"{path_prefix}/MiniCPM4-8B-Eagle-FRSpec-QAT-cpmcu" + else: + eagle_repo_id = f"{path_prefix}/MiniCPM4-8B-Eagle-FRSpec" + else: + eagle_repo_id = f"{path_prefix}/EAGLE-LLaMA3-Instruct-8B" + + if not config['apply_quant']: + if config['test_minicpm4']: + base_repo_id = f"{path_prefix}/MiniCPM4-8B" + else: + base_repo_id = f"{path_prefix}/Meta-Llama-3-8B-Instruct" + else: + base_repo_id = f"{path_prefix}/MiniCPM4-8B-marlin-cpmcu" + + eagle_path = check_or_download_model(eagle_repo_id) + base_path = check_or_download_model(base_repo_id) + + return eagle_path, base_path, eagle_repo_id, base_repo_id + +def apply_minicpm4_yarn_config(llm, config): + """Apply MiniCPM4 YARN configuration to model config""" + yarn_factors = [ + 0.9977997200264581, 1.014658295992452, 1.0349680404997148, 1.059429246056193, + 1.0888815016813513, 1.1243301355211495, 1.166977103606075, 1.2182568066927284, + 1.2798772354275727, 1.3538666751582975, 1.4426259039919596, 1.5489853358570191, + 1.6762658237220625, 1.8283407612492941, 2.0096956085876183, 2.225478927469756, + 2.481536379650452, 2.784415934557119, 3.1413289096347365, 3.560047844772632, + 4.048719380066383, 4.752651957515948, 5.590913044973868, 6.584005926629993, + 7.7532214876576155, 9.119754865903639, 10.704443927019176, 12.524994176518703, + 14.59739595363613, 16.93214476166354, 19.53823297353041, 22.417131025031697, + 25.568260840911098, 28.991144156566317, 32.68408069090375, 36.65174474170465, + 40.90396065611201, 45.4664008671033, 50.37147343433591, 55.6804490772103, + 61.470816952306556, 67.8622707390618, 75.00516023410414, 83.11898235973767, + 92.50044360202462, 103.57086856690864, 116.9492274587385, 118.16074567836519, + 119.18497548708795, 120.04810876261652, 120.77352815196981, 121.38182790207875, + 121.89094985353891, 122.31638758099915, 122.6714244963338, 122.9673822552567, + 123.21386397019609, 123.41898278254268, 123.58957065488238, 123.73136519024158, + 123.84917421274221, 123.94701903496814, 124.02825801299717, 124.09569231686116 + ] + + # Create or modify rope_scaling configuration + if not hasattr(llm.config, 'rope_scaling') or llm.config.rope_scaling is None: + llm.config.rope_scaling = {} + + llm.config.rope_scaling['rope_type'] = 'longrope' + llm.config.rope_scaling['long_factor'] = yarn_factors + llm.config.rope_scaling['short_factor'] = yarn_factors + print("Forcing MiniCPM4 YARN rope_scaling parameters") + +def create_model(eagle_path, base_path, config): + """Create model instance based on configuration""" + common_kwargs = { + 'dtype': config['dtype'], + 'chunk_length': config['chunk_length'], + 'cuda_graph': config['cuda_graph'], + 'apply_sparse': config['apply_sparse'], + 'sink_window_size': config['sink_window_size'], + 'block_window_size': config['block_window_size'], + 'sparse_topk_k': config['sparse_topk_k'], + 'sparse_switch': config['sparse_switch'], + 'apply_compress_lse': config['apply_compress_lse'], + 'memory_limit': config['memory_limit'], + 'use_enter': config['use_enter'], + 'use_decode_enter': config['use_decode_enter'], + 'temperature': config['temperature'], + 'random_seed': config['random_seed'], + } + + eagle_kwargs = { + 'num_iter': config['eagle_num_iter'], + 'topk_per_iter': config['eagle_topk_per_iter'], + 'tree_size': config['eagle_tree_size'], + 'eagle_window_size': config['eagle_window_size'], + 'frspec_vocab_size': config['frspec_vocab_size'], + 'apply_eagle_quant': config['apply_eagle_quant'], + 'use_rope': config['test_minicpm4'], + 'use_input_norm': config['test_minicpm4'], + 'use_attn_norm': config['test_minicpm4'] + } + + if config['apply_quant']: + if config['apply_eagle']: + return W4A16GPTQMarlinLLM_with_eagle(eagle_path, base_path, **common_kwargs, **eagle_kwargs) + else: + return W4A16GPTQMarlinLLM(base_path, **common_kwargs) + else: + if config['apply_eagle']: + return LLM_with_eagle(eagle_path, base_path, **common_kwargs, **eagle_kwargs) + else: + return LLM(base_path, **common_kwargs) + +def make_input(tokenizer, args, prompt_content=None): + """Prepare input tokens from prompt content or file""" + + def make_haystack_prompt(digits, target_length_k): + """Generate haystack prompt with pass key hidden in context""" + # Simple calculation based on target length + a = target_length_k * 16 # Scale factor for before text + b = target_length_k * 33 # Scale factor for after text + + head = "There is a pass key hidden in the context. Find it and remember it. I will quiz you about it later. " + before = "The sky is blue. The tree is green. The flower is red. The sun is yellow. " * a + needle = f"The pass key is {digits}. Remember it. The pass key is {digits}" + after = "The sky is blue. The tree is green. The flower is red. The sun is yellow. " * b + query = "Now, give me the exact number of the pass key. The pass key is " + return head + before + needle + after + query + + if prompt_content is None: + # Check if file or text was specified + file_specified = args.prompt_file is not None + text_specified = args.prompt_text is not None + + if not file_specified and not text_specified: + # Case 1: Neither file nor text specified, use haystack with default value + print(f"Using haystack prompt with {args.prompt_haystack}k tokens (default)") + prompt_content = make_haystack_prompt(681725493, args.prompt_haystack) + else: + # Case 2 & 3: At least one of file or text specified, ignore haystack + prompt_content = "" + + # Load from file if specified + if file_specified: + try: + with open(args.prompt_file, 'r', encoding='utf-8') as f: + file_content = f.read().strip() + prompt_content += file_content + print(f"Loaded prompt from file: {args.prompt_file}") + except FileNotFoundError: + print(f"Warning: {args.prompt_file} not found, skipping file content") + except Exception as e: + print(f"Error reading {args.prompt_file}: {e}, skipping file content") + + # Append text if specified + if text_specified: + if file_specified and prompt_content: + # Case 3: Both specified, append text to file content + prompt_content += "\n" + args.prompt_text + print(f"Appended prompt text to file content") + else: + # Case 2: Only text specified + prompt_content = args.prompt_text + print(f"Using direct prompt text input") + + # Fallback if no content was loaded + if not prompt_content: + print(f"No valid content found, using default Chinese prompt") + prompt_content = "北京有哪些好玩的地方" + + if config['test_minicpm4'] and not file_specified and not text_specified: # TODO: haystack need w/o chat template, may be a bug + prompt = prompt_content + else: + prompt = tokenizer.apply_chat_template([{"role": "user", "content": prompt_content}], tokenize=False, add_generation_prompt=True) + input_ids = tokenizer(prompt, return_tensors="pt").input_ids.cuda().int() + + print(f"Input token count: {input_ids.shape[1]}") + if input_ids.shape[1] <= 100: # Only show input_ids for short prompts + print(f"Input_ids: {input_ids}") + + return input_ids + +def print_generation_summary(mode, prefill_stats, decode_stats, config): + """Print unified generation summary for both modes""" + print("\n" + "=" * 50) + print(f"{mode} Generation Summary:") + print("=" * 50) + + # Prefill statistics + print(f"Prefill length: {prefill_stats['length']}") + print(f"Prefill time: {prefill_stats['time']:.2f} s") + print(f"Prefill tokens/s: {prefill_stats['tokens_per_sec']:.2f}") + + # Eagle-specific statistics + if config['apply_eagle'] and 'mean_accept_length' in decode_stats: + print(f"Mean accept length: {decode_stats['mean_accept_length']:.2f}") + # print(f"Decode token/s when acc = 1: {decode_stats['tokens_per_sec'] / decode_stats['mean_accept_length']:.2f}") + + # Decode statistics + print(f"Decode length: {decode_stats['length']}") + print(f"Decode time: {decode_stats['time']:.2f} s") + print(f"Decode tokens/s: {decode_stats['tokens_per_sec']:.2f}") + +def run_stream_generation(llm, input_ids, config, teminators, tokenizer): + """Run streaming generation and display results""" + print("\nGenerated text (streaming output):") + print("-" * 50) + + # Statistics tracking + prefill_length = input_ids.shape[1] + prefill_time = 0.0 + total_decode_time = 0.0 + + generated_text = "" + total_decode_tokens = 0 + accept_lengths = [] + + try: + for result in llm.generate(input_ids, config['num_generate'], teminators=teminators, use_stream=True): + token = result['token'] + text = result['text'] + is_finished = result['is_finished'] + + # Track timing statistics + if 'prefill_time' in result and result['prefill_time'] > 0: + prefill_time = result['prefill_time'] + if 'decode_time' in result and result['decode_time'] > 0: + total_decode_time = result['decode_time'] + + generated_text += text + total_decode_tokens += 1 + + # Track accept lengths for eagle models + if 'accept_length' in result and result['accept_length'] > 0: + accept_lengths.append(result['accept_length']) + + print(text, end='', flush=True) + + if is_finished: + break + + except KeyboardInterrupt: + print("\n\nGeneration interrupted by user.") + + prefill_stats = { + 'length': prefill_length, + 'time': prefill_time, + 'tokens_per_sec': prefill_length / prefill_time if prefill_time > 0 else 0 + } + + decode_stats = { + 'length': total_decode_tokens, + 'time': total_decode_time, + 'tokens_per_sec': total_decode_tokens / total_decode_time if total_decode_time > 0 else 0 + } + + if config['apply_eagle'] and accept_lengths: + decode_stats['mean_accept_length'] = np.mean(accept_lengths) + + print_generation_summary("Stream", prefill_stats, decode_stats, config) + +def run_non_stream_generation(llm, input_ids, config, teminators, tokenizer): + """Run non-stream generation and display results""" + prefill_length = input_ids.shape[1] + + torch.cuda.synchronize() + start_time = time.time() + gen_result = llm.generate(input_ids, config['num_generate'], teminators=teminators, use_stream=False) + torch.cuda.synchronize() + end_time = time.time() + + # Handle different return formats based on model type + if config['apply_eagle']: + # Eagle models return: (tokens, accept_lengths, decode_time, prefill_time) + tokens, accept_lengths, decode_time, prefill_time = gen_result + decode_length = len(tokens) + mean_accept_length = np.mean(accept_lengths) + else: + # Base models return: (tokens, decode_time, prefill_time) + tokens, decode_time, prefill_time = gen_result + decode_length = len(tokens) + mean_accept_length = None + + print("\n[Generated Result]") + print(tokenizer.decode(tokens).strip()) + print("\n") + + prefill_stats = { + 'length': prefill_length, + 'time': prefill_time, + 'tokens_per_sec': prefill_length / prefill_time if prefill_time > 0 else 0 + } + + decode_stats = { + 'length': decode_length, + 'time': decode_time, + 'tokens_per_sec': decode_length / decode_time if decode_time > 0 else 0 + } + + if mean_accept_length is not None: + decode_stats['mean_accept_length'] = mean_accept_length + + print_generation_summary("Non-Stream", prefill_stats, decode_stats, config) + +def print_config(config, use_stream): + """Print all configuration parameters""" + print("=" * 50) + print("Configuration Parameters:") + print("=" * 50) + print(f"Features: eagle={config['apply_eagle']}, quant={config['apply_quant']}, sparse={config['apply_sparse']}") + print(f"Generation: num_generate={config['num_generate']}, chunk_length={config['chunk_length']}, use_terminators={config['use_terminators']}, use_stream={config['use_stream']}") + print(f"Sampling: temperature={config['temperature']}, random_seed={config['random_seed']}") + print(f"Demo: use_enter={config['use_enter']}, use_decode_enter={config['use_decode_enter']}") + print(f"Others: dtype={config['dtype']}, minicpm4_yarn={config['minicpm4_yarn']}, cuda_graph={config['cuda_graph']}, memory_limit={config['memory_limit']}") + if config['apply_sparse']: + print(f"Sparse Attention: sink_window={config['sink_window_size']}, block_window={config['block_window_size']}, sparse_topk_k={config['sparse_topk_k']}, sparse_switch={config['sparse_switch']}, compress_lse={config['apply_compress_lse']}") + if config['apply_eagle']: + print(f"Eagle: eagle_num_iter={config['eagle_num_iter']}, eagle_topk_per_iter={config['eagle_topk_per_iter']}, eagle_tree_size={config['eagle_tree_size']}, apply_eagle_quant={config['apply_eagle_quant']}, window_size={config['eagle_window_size']}, frspec_vocab_size={config['frspec_vocab_size']}") + print("=" * 50) + print() + +def main(args, config): + if not config['test_minicpm4']: + print(f"test_minicpm4 is False, set apply_sparse to False") + config['apply_sparse'] = False + + print_config(config, config['use_stream']) + + # Get model paths and create model + eagle_path, base_path, eagle_repo_id, base_repo_id = get_model_paths(args.path_prefix, config) + tokenizer = AutoTokenizer.from_pretrained(base_path, trust_remote_code=True) + llm = create_model(eagle_path, base_path, config) + + # Prepare input + input_ids = make_input(tokenizer, args) + teminators = [] if not config['use_terminators'] else [tokenizer.eos_token_id] + + # Initialize model + llm.init_storage() + + # Apply MiniCPM4 YARN configuration if enabled + if config['test_minicpm4'] and config['minicpm4_yarn']: + apply_minicpm4_yarn_config(llm, config) + + if config['apply_eagle'] and config['frspec_vocab_size'] > 0: + fr_path = f'{eagle_path}/freq_{config["frspec_vocab_size"]}.pt' + if not os.path.exists(fr_path): + cache_dir = snapshot_download( + eagle_repo_id, + ignore_patterns=["*.bin", "*.safetensors"], + ) + fr_path = os.path.join(cache_dir, f'freq_{config["frspec_vocab_size"]}.pt') + + with open(fr_path, 'rb') as f: + token_id_remap = torch.tensor(torch.load(f, weights_only=True), dtype=torch.int32, device="cpu") + llm._load("token_id_remap", token_id_remap, cls="eagle") + llm.load_from_hf() + + # Run generation + if config['use_stream']: + run_stream_generation(llm, input_ids, config, teminators, tokenizer) + else: + run_non_stream_generation(llm, input_ids, config, teminators, tokenizer) + + llm.print_perf_summary() + +if __name__ == "__main__": + args, config = parse_and_merge_config(default_config) + main(args, config)