From b05d822e1bb24c02b8c03e73539dd59488e31bf1 Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 16:28:53 -0700 Subject: [PATCH 01/10] chore(causal_conv1d): move the single-rank training package to the det names The package flashinfer.cake_causal_conv1d_train_backend moves to flashinfer.cake_causal_conv1d_det_train_backend. Its single-rank programs take the cake_causal_conv1d_det_train prefix: the module registry, the kernel and binding units and their build.json entries are renamed, and build.json records the digests of the renamed units. Every program keeps its twenty hex digits, kernel code and launch rule. The KCP programs keep their names and bytes. Co-Authored-By: Claude --- .../.gitignore | 0 .../__init__.py | 0 .../build.json | 1745 +++++++++++++++++ .../cake_build.py | 0 .../cake_jit.py | 362 ++-- .../csrc/.clang-format | 2 +- ...det_train_08880ca12e4064bc8cdb_binding.cu} | 14 +- ..._det_train_08880ca12e4064bc8cdb_kernel.cu} | 2 +- ...det_train_149ca6f53934ba630033_binding.cu} | 16 +- ..._det_train_149ca6f53934ba630033_kernel.cu} | 2 +- ...det_train_170d89481a616ae977b3_binding.cu} | 16 +- ..._det_train_170d89481a616ae977b3_kernel.cu} | 2 +- ...det_train_176ebb3e14f7ad9c94dc_binding.cu} | 14 +- ..._det_train_176ebb3e14f7ad9c94dc_kernel.cu} | 2 +- ...det_train_1c21c181af94e1635851_binding.cu} | 14 +- ..._det_train_1c21c181af94e1635851_kernel.cu} | 2 +- ...det_train_2675cc1cb4efc0937378_binding.cu} | 16 +- ..._det_train_2675cc1cb4efc0937378_kernel.cu} | 2 +- ...det_train_2d91e5f926238453c78c_binding.cu} | 16 +- ..._det_train_2d91e5f926238453c78c_kernel.cu} | 2 +- ...det_train_37e428406a0cc4a8ca1b_binding.cu} | 16 +- ..._det_train_37e428406a0cc4a8ca1b_kernel.cu} | 2 +- ...det_train_4d291f4b5c2cce6ef1ea_binding.cu} | 14 +- ..._det_train_4d291f4b5c2cce6ef1ea_kernel.cu} | 2 +- ...det_train_517710d1f0988cf570a9_binding.cu} | 16 +- ..._det_train_517710d1f0988cf570a9_kernel.cu} | 2 +- ...det_train_843c010db78c79107fd3_binding.cu} | 16 +- ..._det_train_843c010db78c79107fd3_kernel.cu} | 2 +- ...det_train_8665d0756b8240ecb4d0_binding.cu} | 14 +- ..._det_train_8665d0756b8240ecb4d0_kernel.cu} | 2 +- ...det_train_86b5ecfbd90aca4b52e5_binding.cu} | 14 +- ..._det_train_86b5ecfbd90aca4b52e5_kernel.cu} | 2 +- ...det_train_8b9b8db0833fd64a578f_binding.cu} | 16 +- ..._det_train_8b9b8db0833fd64a578f_kernel.cu} | 2 +- ...det_train_9a07bcaa0223632640ee_binding.cu} | 16 +- ..._det_train_9a07bcaa0223632640ee_kernel.cu} | 2 +- ...det_train_9bfa65707a49df6a48ce_binding.cu} | 16 +- ..._det_train_9bfa65707a49df6a48ce_kernel.cu} | 2 +- ...det_train_9c1e7ee9f37e3102660e_binding.cu} | 14 +- ..._det_train_9c1e7ee9f37e3102660e_kernel.cu} | 2 +- ...det_train_9c8310a1d3fa9b8ccffa_binding.cu} | 16 +- ..._det_train_9c8310a1d3fa9b8ccffa_kernel.cu} | 2 +- ...det_train_a681165b3e81204c73ff_binding.cu} | 16 +- ..._det_train_a681165b3e81204c73ff_kernel.cu} | 2 +- ...det_train_aeff6106e2822f313a0c_binding.cu} | 16 +- ..._det_train_aeff6106e2822f313a0c_kernel.cu} | 2 +- ...det_train_b4f7ff5a3dd9ddd2f41c_binding.cu} | 16 +- ..._det_train_b4f7ff5a3dd9ddd2f41c_kernel.cu} | 2 +- ...det_train_c8027a64ba3cc38333bf_binding.cu} | 16 +- ..._det_train_c8027a64ba3cc38333bf_kernel.cu} | 2 +- ...det_train_cc7a117aee9c7ae829c4_binding.cu} | 16 +- ..._det_train_cc7a117aee9c7ae829c4_kernel.cu} | 2 +- ...det_train_ce49146b9fef24adb47e_binding.cu} | 14 +- ..._det_train_ce49146b9fef24adb47e_kernel.cu} | 2 +- ...det_train_d46036aa2bc5f90bb0f6_binding.cu} | 16 +- ..._det_train_d46036aa2bc5f90bb0f6_kernel.cu} | 2 +- ...det_train_d829c95e1d610bc14b23_binding.cu} | 14 +- ..._det_train_d829c95e1d610bc14b23_kernel.cu} | 2 +- ...det_train_ea8f91038a9dea452ff2_binding.cu} | 14 +- ..._det_train_ea8f91038a9dea452ff2_kernel.cu} | 2 +- ...det_train_f1545adfd2bb28044419_binding.cu} | 16 +- ..._det_train_f1545adfd2bb28044419_kernel.cu} | 2 +- ...det_train_f5497330bfd286211643_binding.cu} | 14 +- ..._det_train_f5497330bfd286211643_kernel.cu} | 2 +- ...nv1d_train_17cd42fb05079bbbf840_binding.cu | 0 ...onv1d_train_17cd42fb05079bbbf840_kernel.cu | 0 ...nv1d_train_5288d132a5cc927ae729_binding.cu | 0 ...onv1d_train_5288d132a5cc927ae729_kernel.cu | 0 ...nv1d_train_675940a7a4fc0dba4b53_binding.cu | 0 ...onv1d_train_675940a7a4fc0dba4b53_kernel.cu | 0 ...nv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu | 0 ...onv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu | 0 ...nv1d_train_7485529a1755e5bd3036_binding.cu | 0 ...onv1d_train_7485529a1755e5bd3036_kernel.cu | 0 .../csrc/cake_ffi_checks.h | 0 .../kcp.py | 0 .../kcp_jit.py | 0 .../build.json | 1745 ----------------- 78 files changed, 2177 insertions(+), 2177 deletions(-) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/.gitignore (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/__init__.py (100%) create mode 100644 flashinfer/cake_causal_conv1d_det_train_backend/build.json rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/cake_build.py (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/cake_jit.py (90%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/.clang-format (75%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu} (87%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_binding.cu} (87%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_kernel.cu} (98%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu} (97%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu} (97%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_kernel.cu} (98%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu} (85%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu} (97%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu} (87%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu} (97%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu} (91%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_binding.cu} (87%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_kernel.cu} (98%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu} (97%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu} (86%) rename flashinfer/{cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu => cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu} (99%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/csrc/cake_ffi_checks.h (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/kcp.py (100%) rename flashinfer/{cake_causal_conv1d_train_backend => cake_causal_conv1d_det_train_backend}/kcp_jit.py (100%) delete mode 100644 flashinfer/cake_causal_conv1d_train_backend/build.json diff --git a/flashinfer/cake_causal_conv1d_train_backend/.gitignore b/flashinfer/cake_causal_conv1d_det_train_backend/.gitignore similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/.gitignore rename to flashinfer/cake_causal_conv1d_det_train_backend/.gitignore diff --git a/flashinfer/cake_causal_conv1d_train_backend/__init__.py b/flashinfer/cake_causal_conv1d_det_train_backend/__init__.py similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/__init__.py rename to flashinfer/cake_causal_conv1d_det_train_backend/__init__.py diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/build.json b/flashinfer/cake_causal_conv1d_det_train_backend/build.json new file mode 100644 index 00000000000..ae40ed0ca56 --- /dev/null +++ b/flashinfer/cake_causal_conv1d_det_train_backend/build.json @@ -0,0 +1,1745 @@ +{ + "arch_flags": { + "sm_100a": [ + "-gencode=arch=compute_100a,code=sm_100a" + ], + "sm_103a": [ + "-gencode=arch=compute_103a,code=sm_103a" + ], + "sm_107a": [ + "-gencode=arch=compute_107a,code=sm_107a" + ] + }, + "common": { + "include_dirs": [ + "csrc" + ], + "link": { + "cudart": "shared", + "host_linker": "c++", + "tvm_ffi_symbols": "resolved at load; do not pass --no-undefined" + }, + "link_flags": [ + "-shared", + "-lcudart", + "-lcuda" + ], + "nvcc_flags": [ + "-std=c++17", + "-O3", + "-DNDEBUG", + "--compiler-options=-fPIC", + "--expt-relaxed-constexpr", + "-Xfatbin=-compress-all", + "--compress-mode=size" + ], + "nvcc_flags_if": [ + { + "cuda": ">=12.8", + "flags": [ + "-static-global-template-stub=false" + ] + } + ], + "requires": { + "cuda_toolkit": { + "min": "12.8" + }, + "tvm_ffi": { + "include_dirs": [ + "tvm_ffi.libinfo.find_include_path()", + "tvm_ffi.libinfo.find_dlpack_include_path()" + ], + "python": "apache-tvm-ffi>=0.1.11,<0.2" + } + } + }, + "generator": { + "cake_revision": "e312167e6b4f6d8b4193e218da74fa5b17d8ec14", + "cuda": "13.4.92", + "rendered_at": "2026-10-28T23:53:55Z" + }, + "libraries": [ + { + "arch": "sm_100a", + "closure_sha256": "0c024189d7c3bd05da6f1490afc67634ee7e3f58a4e61ff00e6cc506b5af84fb", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu": "9b3a96b5a62d108aeb37775f2c2a655119762d4b8150549dd8dc09171bfd7ddb", + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu": "69bfbc6ca775a99ab51fb672fb184c2fde979ae9a361694397c5f43c4cf6a365" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu", + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "bb51f380752185a4b95d4331fbb29f2ccb7d83a7e9364524e360dbf9e14f09c3", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu": "9b3a96b5a62d108aeb37775f2c2a655119762d4b8150549dd8dc09171bfd7ddb", + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu": "69bfbc6ca775a99ab51fb672fb184c2fde979ae9a361694397c5f43c4cf6a365" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu", + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "7dcdbb7e8d3440254921c72d8583186be8d419cf994a43008119e8d1f18fee19", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu": "9b3a96b5a62d108aeb37775f2c2a655119762d4b8150549dd8dc09171bfd7ddb", + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu": "69bfbc6ca775a99ab51fb672fb184c2fde979ae9a361694397c5f43c4cf6a365" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu", + "csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "9d0241f5bd09d302a6af4cc8ad32c8d4328e48dce1b9b6cce00b914555b5ed2b", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_149ca6f53934ba630033_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_149ca6f53934ba630033_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu": "31eec24c0809110fde68c6cda89a6f56566da02df3a5bbea49f6e94a587b13ad", + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu": "da476a7b8586b1cfbc8698e2098505a8d62bb83ab12c4d3cf8f9d9d9ee85115d" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu", + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "9558a0989345a12d9d8c252d5f7275adb7e68586464c4dfb1ab65729e3324ba9", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_149ca6f53934ba630033_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_149ca6f53934ba630033_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu": "31eec24c0809110fde68c6cda89a6f56566da02df3a5bbea49f6e94a587b13ad", + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu": "da476a7b8586b1cfbc8698e2098505a8d62bb83ab12c4d3cf8f9d9d9ee85115d" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu", + "csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "1b5c3354f07d7c98d9a46f1fb4f5ff0577465505a18a3482ca2af3182bf7d1f4", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_170d89481a616ae977b3_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_170d89481a616ae977b3_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu": "08e4640bf2f3e3ea36e368e7cec47a4fc11d5cafa44a2112a233abdd275203d2", + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu": "560673dded379b80ca6d345af04ae83b6bd23d136a2e6a95874455b3e70bdbf3" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu", + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "5895d7dc6bd5173b648d04cd11befe94643f6dd2e271c2619aab8cb3ed4ab61d", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_170d89481a616ae977b3_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_170d89481a616ae977b3_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu": "08e4640bf2f3e3ea36e368e7cec47a4fc11d5cafa44a2112a233abdd275203d2", + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu": "560673dded379b80ca6d345af04ae83b6bd23d136a2e6a95874455b3e70bdbf3" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu", + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "7d8f70385e027d68b5d5cc51f2f6b1c3f1e28ea478ae81b945dcbbca4d3be431", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_170d89481a616ae977b3_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_170d89481a616ae977b3_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu": "08e4640bf2f3e3ea36e368e7cec47a4fc11d5cafa44a2112a233abdd275203d2", + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu": "560673dded379b80ca6d345af04ae83b6bd23d136a2e6a95874455b3e70bdbf3" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu", + "csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "0eb214a1983c5cb217d4b3070c9a9b5e19ed0904a8761561ecd2e696a496bbb8", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_binding.cu": "df1bd1bf9f3e5016954fe64b98d11c777c5ae5068a621e2889a1217ea1db271c", + "csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_kernel.cu": "ea4f0cbe026f116a994b655d21566e173d0aacdada6c31aa64356e83aaf1835f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_kernel.cu", + "csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "06d38d8dd2cca1f5b61d40f45559251d23b82432b890ae584ddff7697ae86a2d", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_1c21c181af94e1635851_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_1c21c181af94e1635851_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu": "6eb2d702e2cfbb37334048f9a6808f9f24ad78202480f73ef4ccfd6f477b152e", + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu": "5bc13ef14deda70fd44253443d1bb7f55df975bb6cceee7f95eaaaf363face0b" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu", + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "4e20f85d7a0a842fd9c51bee7161257b604a7dd0a71675a6375c20bafc5e91dd", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_1c21c181af94e1635851_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_1c21c181af94e1635851_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu": "6eb2d702e2cfbb37334048f9a6808f9f24ad78202480f73ef4ccfd6f477b152e", + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu": "5bc13ef14deda70fd44253443d1bb7f55df975bb6cceee7f95eaaaf363face0b" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu", + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "2c670612797ea03ea66d51a94c8622ee1db5aec11bf53852fd66a61e3bab0c9c", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_1c21c181af94e1635851_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_1c21c181af94e1635851_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu": "6eb2d702e2cfbb37334048f9a6808f9f24ad78202480f73ef4ccfd6f477b152e", + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu": "5bc13ef14deda70fd44253443d1bb7f55df975bb6cceee7f95eaaaf363face0b" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu", + "csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "0731b332211793ef0d9236ece823140208a06a3ee1ce65cdb357fca2ffc03b37", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_2675cc1cb4efc0937378_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu": "067ab8d02006acb0c128e45b0d3c44047b9fbb6b8d7873b112d04f3e1776ccc8", + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu": "cd193a070b12029c714e974bcaa296c4c0b0488d91834e10963fedc4678ae93f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu", + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "83bc92a15911e03c30e7c375f2851aba7e1817b069b80f2362d763072f65edbf", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_2675cc1cb4efc0937378_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu": "067ab8d02006acb0c128e45b0d3c44047b9fbb6b8d7873b112d04f3e1776ccc8", + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu": "cd193a070b12029c714e974bcaa296c4c0b0488d91834e10963fedc4678ae93f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu", + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "b63c8f146586d95c590691580af70caafddce565ac358df71a17012f0f91beb0", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_2675cc1cb4efc0937378_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu": "067ab8d02006acb0c128e45b0d3c44047b9fbb6b8d7873b112d04f3e1776ccc8", + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu": "cd193a070b12029c714e974bcaa296c4c0b0488d91834e10963fedc4678ae93f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu", + "csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "46f88a0376c3a26d6797f0d0640d8471f78d7f395340f6558353e3fb5a08eef6", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_2d91e5f926238453c78c_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_2d91e5f926238453c78c_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu": "d4afcb562dd79e045c2ba752c8639bef70e90fd4e6fb55a74f3b1a911e57f150", + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu": "8370b8440c42b4b56442d5b2edda92354738cdf7b34779b3c932561a12d69cf3" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu", + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "9657669fa60f2d633c6ae6a7af5e28fc92d90dce8b4910382ce25c042d30c737", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_2d91e5f926238453c78c_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_2d91e5f926238453c78c_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu": "d4afcb562dd79e045c2ba752c8639bef70e90fd4e6fb55a74f3b1a911e57f150", + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu": "8370b8440c42b4b56442d5b2edda92354738cdf7b34779b3c932561a12d69cf3" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu", + "csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "283aa3ad075169a30ba7ba5e67d3a8c5b49ee1ec7fc080c95d54d00ca13293af", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu": "511ea932e55beb8b2ad8c8de14b0b5147cd2994ab4768110809f005a909f2b25", + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu": "a52e81ee9ca608632bfcf28f4c83bfc38e9bb0c197ae13084c7c519070703862" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu", + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "8e37d99ca44cde06e226e4a990805bd731059a473e8ce1aff02dc7d4b28febb6", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu": "511ea932e55beb8b2ad8c8de14b0b5147cd2994ab4768110809f005a909f2b25", + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu": "a52e81ee9ca608632bfcf28f4c83bfc38e9bb0c197ae13084c7c519070703862" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu", + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "142cca9f31d770bd9204f3409e9c936b768f3d5a2a609699454666c6dbf008e7", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu": "511ea932e55beb8b2ad8c8de14b0b5147cd2994ab4768110809f005a909f2b25", + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu": "a52e81ee9ca608632bfcf28f4c83bfc38e9bb0c197ae13084c7c519070703862" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu", + "csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "d57f439e3d7926029324d6123d6b71385e92d61a700c36051abb41c38c648b20", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu": "d9fee41a409be99804c2da47a6035874656a7ac6e9ef37f0bfec202747815fd3", + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu": "9828599b822db6e3e59eb21b932456816a8f3a74f2bac4c99fc9071dc5a43392" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu", + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "f6808f1d1ccc141086ae21956e659c967487a4cdca6d3cf1624d5dce2488b9e5", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu": "d9fee41a409be99804c2da47a6035874656a7ac6e9ef37f0bfec202747815fd3", + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu": "9828599b822db6e3e59eb21b932456816a8f3a74f2bac4c99fc9071dc5a43392" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu", + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "ac4ac160a4fba6fca97310b8be86cbf0b980b9e5c10047c542517b406b05cb54", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu": "d9fee41a409be99804c2da47a6035874656a7ac6e9ef37f0bfec202747815fd3", + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu": "9828599b822db6e3e59eb21b932456816a8f3a74f2bac4c99fc9071dc5a43392" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu", + "csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "dda4fa5debec7fdae51f473d99a340d5711833cf9c601b3bec010d08b22b2a1f", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_517710d1f0988cf570a9_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_517710d1f0988cf570a9_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu": "260c99fb803c9439b0e7f3ba802732d4c8eeb320c87aa2703262db0df3d44615", + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu": "58419c4ba4b84c2354e9a0e8d3970f71ec709d757d7ba34bca044a6936b6bf2a" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu", + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "1bb898d56a29029f7fff8e4e55900b243fbc94569e3f0c3fdbe6641efdce7d4e", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_517710d1f0988cf570a9_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_517710d1f0988cf570a9_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu": "260c99fb803c9439b0e7f3ba802732d4c8eeb320c87aa2703262db0df3d44615", + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu": "58419c4ba4b84c2354e9a0e8d3970f71ec709d757d7ba34bca044a6936b6bf2a" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu", + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "bced3e69d2c80598ac05345703f49bc988ff98a84a6c774b2203a9c32c835c1b", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_517710d1f0988cf570a9_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_517710d1f0988cf570a9_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu": "260c99fb803c9439b0e7f3ba802732d4c8eeb320c87aa2703262db0df3d44615", + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu": "58419c4ba4b84c2354e9a0e8d3970f71ec709d757d7ba34bca044a6936b6bf2a" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu", + "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "34b3426d38733e0d11e088a9270f964aa5634894eae9a716bffbb81b209f431a", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_843c010db78c79107fd3_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_843c010db78c79107fd3_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_binding.cu": "1ee239829a6dc3fefcdbaededa5993eaa2b3b41256f6a4e9311b01b365a5f819", + "csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_kernel.cu": "dd5b876c00cfab29b5c956028d5f73a41ff5bd1bb67b6e615d4d2b6f22a91374" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_kernel.cu", + "csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "9eeccfc0df8141b2319652d72bda90730a755ae1999f100f63120be6e14442e8", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_binding.cu": "add86dc861723846bef84133814205176a6e7678958b909db1ed535835a21c7c", + "csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_kernel.cu": "ffc0231eca46119f42189e3249005cc71f691bdf8b9c268e062a0efb83a65edb" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_kernel.cu", + "csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "0af47af6d405bd62598ef30be916a50210b24ec02a3168631a0c0934aa76a034", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu": "e355692ffa71f51b206a9aaf1fec11c7a7efa68381713938d06618a65a60d88d", + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu": "6917a5ea38ee17127d562169852373e23fe0080304cf73fadb623e00df2af376" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu", + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "68961d53d8519d89fbbdbd1617173b2972766a97af1bc73a73846b27ba641a32", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu": "e355692ffa71f51b206a9aaf1fec11c7a7efa68381713938d06618a65a60d88d", + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu": "6917a5ea38ee17127d562169852373e23fe0080304cf73fadb623e00df2af376" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu", + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "c4469361fc53fbee928c49b083e41234ee5b389d1492e6035ecf701c42282249", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu": "e355692ffa71f51b206a9aaf1fec11c7a7efa68381713938d06618a65a60d88d", + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu": "6917a5ea38ee17127d562169852373e23fe0080304cf73fadb623e00df2af376" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu", + "csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "f8eae7082863f1b4e377e995231c147e3791be82ee4cfb7eb6a80bed37daf8f1", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_binding.cu": "1fbe56710ed8c7c09e3a4f2305586f577e46bece3c81abdb82a4ef3626e3b8f7", + "csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_kernel.cu": "87a6094b0fc87c2906271f55ee8d8edf4c13e1ce528c0c0b610821f4268c914b" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_kernel.cu", + "csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "a29a8596bf2427e3493d0b8f5173fc591232fdac41143233bf1d3eacce1ac2e7", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_9a07bcaa0223632640ee_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_binding.cu": "a6e0acae8db742cab1f96aa091d24cef12a3c70197e99631538e128b67bb5cf2", + "csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_kernel.cu": "b22e7bd6dd08d167af0d99fd5acba6fcd7dc4a78db1c5519ef9736dcb9433849" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "ad197a06b8cc8c05b73e8740b6de92123c7c58ba9f8f870fb70d96cdb2dd7560", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu": "cfff6e32413096e06e0bb4c69e8f841686a3ade9e3060175103dbc80fd383875", + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu": "dab9606be3a296333dcc3d040a002de51c87e1b2bbcee8245125d434bf2c34f0" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "e0b4ecee7c50cf1fdd5d67aa10fe4697aaba54b0807d8aca23edadff98d801f3", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu": "cfff6e32413096e06e0bb4c69e8f841686a3ade9e3060175103dbc80fd383875", + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu": "dab9606be3a296333dcc3d040a002de51c87e1b2bbcee8245125d434bf2c34f0" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "73da8c7ca4b0cb0224d92b93c95914c2b246cf7e74f6e38f184198dd3305a25f", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu": "92de7e88653420496388b3ca085143a6a082f287c6c91606c9be71731d8cd6e8", + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu": "5121b638b113c3b4fabce60d1730aec32ad438ff9843527a6e7e79c05acbed58" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "3f0d16b5d527ce2b5cca710da1b5a2d981af3d2b9b67ee623ed9d600d063e753", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu": "92de7e88653420496388b3ca085143a6a082f287c6c91606c9be71731d8cd6e8", + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu": "5121b638b113c3b4fabce60d1730aec32ad438ff9843527a6e7e79c05acbed58" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "7e3984dff60583cef2ef3b0fbd3b31ec8a1cdccc7a4bad8a67025a8e540d613c", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu": "92de7e88653420496388b3ca085143a6a082f287c6c91606c9be71731d8cd6e8", + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu": "5121b638b113c3b4fabce60d1730aec32ad438ff9843527a6e7e79c05acbed58" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "eb140906e4820238476723bd89bf635db61965bc43b7ddaf74e4ee57eb15b281", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu": "639cc71fdf7f363fa9817da17dabf28981c587a1c09e5c6350a232db9994bb13", + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu": "a89860c6ba8bb9b23133b4f16b3b669d8e82f221520f708365a1598245801681" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "c96c05a1a12b36c2068515c42fde934a756efcd2e43bc6ba401ca8fd25453bde", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu": "639cc71fdf7f363fa9817da17dabf28981c587a1c09e5c6350a232db9994bb13", + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu": "a89860c6ba8bb9b23133b4f16b3b669d8e82f221520f708365a1598245801681" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu", + "csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "8f7744a95d650be1186d290319653ef0f766d36d9fbbe0a2716ae110b9707d90", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_a681165b3e81204c73ff_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_a681165b3e81204c73ff_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu": "d622dc9614014fe6c31727576eb3ebfb9137ecc7842b69002bf82bba1b1017b6", + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu": "1c423cf1a3287256090b9239e0747cdd98e8bb95ed2167606e2dffc50357106b" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu", + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "b3e253c664d98c069a6aabb158df459c190f00e260d1d9eeb0b244784330cef5", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_a681165b3e81204c73ff_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_a681165b3e81204c73ff_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu": "d622dc9614014fe6c31727576eb3ebfb9137ecc7842b69002bf82bba1b1017b6", + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu": "1c423cf1a3287256090b9239e0747cdd98e8bb95ed2167606e2dffc50357106b" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu", + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "43c4965cf3413c756b1d417b0e99fcc4e4a48a893df5f9c12a14dc05dac86701", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_a681165b3e81204c73ff_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_a681165b3e81204c73ff_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu": "d622dc9614014fe6c31727576eb3ebfb9137ecc7842b69002bf82bba1b1017b6", + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu": "1c423cf1a3287256090b9239e0747cdd98e8bb95ed2167606e2dffc50357106b" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu", + "csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "070c5d08d6462150b3fa923a98076e16519ec5561796b0f7f35e36464990afa5", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_aeff6106e2822f313a0c_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_binding.cu": "dc2d13ae557d050d2f54d1cfc158226d903c4a03c2c4fc0e344a59cecc670fc3", + "csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_kernel.cu": "2c8dade5702621228b0cf1cf506a7db5cbc9eab2381867632261f761924acd10" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_kernel.cu", + "csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "0cb162ea27c314b02fd4fdfdff8e17503ddfce02c043fe1fbc1e7f56fd97723f", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_binding.cu": "eacf0f45dda44978115822db6b2c4a97e78a33b86b61df47b912eb0f7075cdd0", + "csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_kernel.cu": "3fdf90d9f85d7f1f11559569b2f99e7cb27968fd0c17269e73c035cd35136bdb" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_kernel.cu", + "csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "5d4e71d81a1eae9ec5c8c1d7bcd867ca6559da710a3bbc8b7933f7cd7be25aa0", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu": "845afa8e438a7fe05c607e0ed405ba36134820d50dade578aafef40d7a5719ad", + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu": "c46a4b66cba9dd5a1264fc1af375aeb2b7d149ff1e1ac8fdc99af35c6304975e" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu", + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "30f96cd6dd10a788890974f06a85a6ceb270139cbc3d23867cb9e42ea8d48499", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu": "845afa8e438a7fe05c607e0ed405ba36134820d50dade578aafef40d7a5719ad", + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu": "c46a4b66cba9dd5a1264fc1af375aeb2b7d149ff1e1ac8fdc99af35c6304975e" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu", + "csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "3d273beac5c3a250607c768e1b72133cf9b7e3ee2293cc60100f2ee49fb69d71", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_binding.cu": "ef523f12ee631b1a65091693d2775a36b7be67887a4a321419f8ed57379d496b", + "csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_kernel.cu": "3136b927b7f5eb03c975077847fac73204a98fc2f0230306a29ae58e79f2cebd" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_kernel.cu", + "csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "94edfec807a2624083077221fdb70fa23e8655c45ec008b2a6588171f830241e", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu": "754035f716a296e48ae411623707f364101dfaf694cbbc22b3517b6777c61ade", + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu": "633e77a585bd2aa52a2280800aeda6b979928f88125aee1b7d3af02b10656398" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu", + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "81431def6d56e1546a29f3a4dbbeb84f74988b0c4c6c4305c8551de2afa92e13", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu": "754035f716a296e48ae411623707f364101dfaf694cbbc22b3517b6777c61ade", + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu": "633e77a585bd2aa52a2280800aeda6b979928f88125aee1b7d3af02b10656398" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu", + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "4a20879962968f05fe3c9afdc2850308291a589d81ece370c652fc683812a69b", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu": "754035f716a296e48ae411623707f364101dfaf694cbbc22b3517b6777c61ade", + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu": "633e77a585bd2aa52a2280800aeda6b979928f88125aee1b7d3af02b10656398" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu", + "csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "af5d45fac176cd2297fa5cba56a60c97d8586923e894285beb4dd1683caff056", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu": "4a226db4e7b7dc3656e7140403a363d07e940834e4aea9455396f81b9f965da1", + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu": "ab0d63386013013d24dc76c210f2ad61eb02d5379891d8b3fb53e08cbc245520" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu", + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "22ed821d0cddbeb98baf02f08fd7f52be8290b55ee3cb49a6a204d7cd022f361", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu": "4a226db4e7b7dc3656e7140403a363d07e940834e4aea9455396f81b9f965da1", + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu": "ab0d63386013013d24dc76c210f2ad61eb02d5379891d8b3fb53e08cbc245520" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu", + "csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "b494eadc9e03346d90a760e1652bdc4561af2153738199c5992c474d2781e6ff", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_d829c95e1d610bc14b23_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_binding.cu": "bc63951666f04dbab400b3807f26a479634e975fe312fcc6ad81028dd2dcfbec", + "csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_kernel.cu": "fe2d7196d071255e4eacbeca508367de048eaf2064afdbc2ba21aa63d5939f4f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_kernel.cu", + "csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "421981b0c04a3ad005810805a966244a5bc28ad7be100319c4593700d23308d0", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu": "f46a7f40d528dded87c5538df2f91e39b5bc81e8e58958a04798a378671553f0", + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu": "e8c4b8c9f2b529df3461d8b17ef478e60bb007bffbcc7309fbce01a0275ae0b5" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu", + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "dd235c7fb5da9c309fc27ee2202a16759ec18699fd4699dbac50b0b166806d2a", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu": "f46a7f40d528dded87c5538df2f91e39b5bc81e8e58958a04798a378671553f0", + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu": "e8c4b8c9f2b529df3461d8b17ef478e60bb007bffbcc7309fbce01a0275ae0b5" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu", + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "bf80a70806b8a1b93f4fe0353a1bf54ffd46da46233ade88607c5e731baa747a", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu": "f46a7f40d528dded87c5538df2f91e39b5bc81e8e58958a04798a378671553f0", + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu": "e8c4b8c9f2b529df3461d8b17ef478e60bb007bffbcc7309fbce01a0275ae0b5" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu", + "csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "b3170e88e02bc576165abde4679008659a1ee2257da7f9eaef40087601908fae", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_f1545adfd2bb28044419_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_f1545adfd2bb28044419_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_binding.cu": "8563cadb9b9988a145e47bcc369df0257e51c578b41e23c96fb5a0baf066b4c0", + "csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_kernel.cu": "4620f5265725358f226a08d7b7195abab484b08e445ad14dcbe6d2e0ad048cd8" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_kernel.cu", + "csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "dfe135183e395ac6ffe797125408d559e3969a5610aeb3289a024e256e4ddb73", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_f5497330bfd286211643_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_f5497330bfd286211643_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu": "b1fdaaec4bc4a5abe23e3a0a0e12fc3101e293ea3b08bce6a9c510c7b26ec742", + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu": "e64e76ce6930fda5c1ab92b7c915b0f03198b05398ef2f6ca8962d133588ee0f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu", + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "8ceea16ddb80df75bcdac950c4a1f14aa08f2d7ba4b353bcab696528c2377231", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_f5497330bfd286211643_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_f5497330bfd286211643_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu": "b1fdaaec4bc4a5abe23e3a0a0e12fc3101e293ea3b08bce6a9c510c7b26ec742", + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu": "e64e76ce6930fda5c1ab92b7c915b0f03198b05398ef2f6ca8962d133588ee0f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu", + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "6e27397675c01271529040bd3f207e4bbd65dae21f58d7cd0c1d590573732083", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_f5497330bfd286211643_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_f5497330bfd286211643_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu": "b1fdaaec4bc4a5abe23e3a0a0e12fc3101e293ea3b08bce6a9c510c7b26ec742", + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu": "e64e76ce6930fda5c1ab92b7c915b0f03198b05398ef2f6ca8962d133588ee0f" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu", + "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "053e4624381ef6055fac3af9599e1aa87504607dcc4216d91c3ee348474e824b", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "1f4646c653522f1a20a294aa89e1fa1e7972874d0dc48704d5d18710d4dcfaf6", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "6f2cf0fec3e5bbc4af75d083182549c0aa94a348aca19a6d1cf2dfb94107a35d", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", + "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "c187d4e484108e3451d5997c74881e67c0ddf42bed070cc466ad971ebdf4111c", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_train_5288d132a5cc927ae729_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_5288d132a5cc927ae729_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu": "e9d1f51f3fa33ef96560a5590a4a38f6e0ef1a479cb57c935b2b53ce3853e62e", + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu": "c06d37a5fa4667d6e40d817114f5796fce09db3046085667b62e55247f8923d8" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu", + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "2b0e305e5e88d3fc64d508ccbb96ce3d4a742a4869a68f57efa6b09acdd4e548", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_train_5288d132a5cc927ae729_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_5288d132a5cc927ae729_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu": "e9d1f51f3fa33ef96560a5590a4a38f6e0ef1a479cb57c935b2b53ce3853e62e", + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu": "c06d37a5fa4667d6e40d817114f5796fce09db3046085667b62e55247f8923d8" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu", + "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "f0427a3c00fbfc0edb6650a4a7fa3b2924b64b4a0889987e39cdec0cf454c795", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "2844a4a678354529feae15c785c62c936f7cf69ccbaf0e96b1df961523792782", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "ae72b27ad4f9ebb0bc37e0ee5d8c54b10563d287927113bbad65c7f7f1978ef2", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", + "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "1d8db0e374474def19a949290afc97ed16901601248972dfaf1d59b7b61d17e3", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu": "c1332ab0469a57049c78246a1beef72ea071926cdb9d43edcd43872c88299c04", + "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu": "bbf0d05a8c9756d50f5b6776c375f5844057d5c39703835bddac5ebe09cc51b0" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu", + "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "678b6680e1b2e2a9abee3effdcc465507a507d8f1f6a8e935c057ef980c47c3b", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "0cdc90f376954df81b7f340f2e799721363be99cabfec85887b75d1b32342fef", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "6c44bdb9195fa1cddd588a25915f5229008f90044a4288521471c93fb1dd2ae3", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" + }, + "sources": [ + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", + "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" + ] + } + ], + "package": "flashinfer.cake_causal_conv1d_det_train_backend", + "schema": "cake-build/1" +} diff --git a/flashinfer/cake_causal_conv1d_train_backend/cake_build.py b/flashinfer/cake_causal_conv1d_det_train_backend/cake_build.py similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/cake_build.py rename to flashinfer/cake_causal_conv1d_det_train_backend/cake_build.py diff --git a/flashinfer/cake_causal_conv1d_train_backend/cake_jit.py b/flashinfer/cake_causal_conv1d_det_train_backend/cake_jit.py similarity index 90% rename from flashinfer/cake_causal_conv1d_train_backend/cake_jit.py rename to flashinfer/cake_causal_conv1d_det_train_backend/cake_jit.py index 6c1e76a0b83..34004d19e39 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/cake_jit.py +++ b/flashinfer/cake_causal_conv1d_det_train_backend/cake_jit.py @@ -107,7 +107,7 @@ those. The forward workspace is sized by the forward program of the most counter words over every forward route (:func:`forward_workspace_words`). -The program name ``cake_causal_conv1d_train_<20 hex>`` is the first twenty hex +The program name ``cake_causal_conv1d_det_train_<20 hex>`` is the first twenty hex digits of the SHA-256 of the compact JSON ``{"build": , "module": }`` of the kernel the program was rendered from; the default reduce program is built with its kernel file's default @@ -175,7 +175,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_f5497330bfd286211643": { + "cake_causal_conv1d_det_train_f5497330bfd286211643": { "arches": [ "sm_100a", "sm_103a", @@ -217,8 +217,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_f5497330bfd286211643", - "kernel_symbol": "kernel_cake_causal_conv1d_train_f5497330bfd286211643", + "kernel": "cake_causal_conv1d_det_train_f5497330bfd286211643", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_f5497330bfd286211643", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -226,7 +226,7 @@ "dynamic_smem_bytes": 46208, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_f5497330bfd286211643", + "library": "cake_causal_conv1d_det_train_f5497330bfd286211643", "logical": { "C": "C", "S": "S", @@ -247,7 +247,7 @@ "words_per_tile": 2, }, }, - "cake_causal_conv1d_train_9bfa65707a49df6a48ce": { + "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce": { "arches": [ "sm_100a", "sm_103a", @@ -297,8 +297,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_9bfa65707a49df6a48ce", - "kernel_symbol": "kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce", + "kernel": "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -306,7 +306,7 @@ "dynamic_smem_bytes": 66560, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_9bfa65707a49df6a48ce", + "library": "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce", "logical": { "C": "C", "S": "S", @@ -324,7 +324,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "reduce": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "role": "bwd", # The FP32 ``partial`` workspace: ``[ceil(grid / n_ch_tiles), C, taps]`` # rows (row ``b // n_ch_tiles`` belongs to CTA ``b``) the kernel fully @@ -335,7 +335,7 @@ "taps": 4, }, }, - "cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c": { + "cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c": { "arches": [ "sm_107a", ], @@ -386,8 +386,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c", - "kernel_symbol": "kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c", + "kernel": "cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -395,7 +395,7 @@ "dynamic_smem_bytes": 66560, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c", + "library": "cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c", "logical": { "C": "C", "S": "S", @@ -413,7 +413,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "reduce": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "role": "bwd", # The FP32 ``partial`` workspace: ``[ceil(grid / n_ch_tiles), C, taps]`` # rows (row ``b // n_ch_tiles`` belongs to CTA ``b``) the kernel fully @@ -424,7 +424,7 @@ "taps": 4, }, }, - "cake_causal_conv1d_train_9a07bcaa0223632640ee": { + "cake_causal_conv1d_det_train_9a07bcaa0223632640ee": { "arches": [ "sm_107a", ], @@ -470,8 +470,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_9a07bcaa0223632640ee", - "kernel_symbol": "kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee", + "kernel": "cake_causal_conv1d_det_train_9a07bcaa0223632640ee", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -479,7 +479,7 @@ "dynamic_smem_bytes": 50176, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_9a07bcaa0223632640ee", + "library": "cake_causal_conv1d_det_train_9a07bcaa0223632640ee", "logical": { "C": "C", "S": "S", @@ -495,7 +495,7 @@ "w": "w", "x": "x", }, - "reduce": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "reduce": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "role": "bwd", # The four-token build of the sm_107a fallback runs for 256 <= C < 512 # from S = 262144 tokens; the ``stage_pair`` fallback runs every other @@ -523,7 +523,7 @@ # with stage_tokens 8, copy tma2d, min_blocks 2 (2 CTAs per SM); it runs when # C >= select_rule.channels[arch] and no routed record of a higher threshold # admits C; below every threshold the fallback record (no select_rule) runs. - "cake_causal_conv1d_train_37e428406a0cc4a8ca1b": { + "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b": { "arches": [ "sm_100a", "sm_103a", @@ -564,8 +564,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_37e428406a0cc4a8ca1b", - "kernel_symbol": "kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b", + "kernel": "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -573,7 +573,7 @@ "dynamic_smem_bytes": 82944, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_37e428406a0cc4a8ca1b", + "library": "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b", "logical": { "C": "C", "S": "S", @@ -591,7 +591,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "reduce": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "role": "bwd", "select_rule": { "channels": { @@ -612,7 +612,7 @@ # (2 CTAs per SM); it runs when C >= select_rule.channels[arch] and no # routed record of a higher threshold admits C; below every threshold the # fallback record (no select_rule) runs. - "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6": { + "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6": { "arches": [ "sm_103a", "sm_107a", @@ -651,8 +651,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6", - "kernel_symbol": "kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6", + "kernel": "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -660,7 +660,7 @@ "dynamic_smem_bytes": 66560, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6", + "library": "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6", "logical": { "C": "C", "S": "S", @@ -678,7 +678,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "reduce": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "role": "bwd", "select_rule": { "channels": { @@ -698,7 +698,7 @@ # (2 CTAs per SM); it runs when C >= select_rule.channels[arch] and no # routed record of a higher threshold admits C; below every threshold the # fallback record (no select_rule) runs. - "cake_causal_conv1d_train_aeff6106e2822f313a0c": { + "cake_causal_conv1d_det_train_aeff6106e2822f313a0c": { "arches": [ "sm_107a", ], @@ -735,8 +735,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_aeff6106e2822f313a0c", - "kernel_symbol": "kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c", + "kernel": "cake_causal_conv1d_det_train_aeff6106e2822f313a0c", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -744,7 +744,7 @@ "dynamic_smem_bytes": 82944, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_aeff6106e2822f313a0c", + "library": "cake_causal_conv1d_det_train_aeff6106e2822f313a0c", "logical": { "C": "C", "S": "S", @@ -762,7 +762,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "reduce": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "role": "bwd", "select_rule": { "channels": { @@ -784,7 +784,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_9c1e7ee9f37e3102660e": { + "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e": { "arches": [ "sm_100a", "sm_103a", @@ -818,8 +818,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_9c1e7ee9f37e3102660e", - "kernel_symbol": "kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e", + "kernel": "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -827,7 +827,7 @@ "dynamic_smem_bytes": 46208, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_9c1e7ee9f37e3102660e", + "library": "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e", "logical": { "C": "C", "S": "S", @@ -858,7 +858,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_08880ca12e4064bc8cdb": { + "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb": { "arches": [ "sm_100a", "sm_103a", @@ -893,8 +893,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_08880ca12e4064bc8cdb", - "kernel_symbol": "kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb", + "kernel": "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -902,7 +902,7 @@ "dynamic_smem_bytes": 46208, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_08880ca12e4064bc8cdb", + "library": "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb", "logical": { "C": "C", "S": "S", @@ -935,7 +935,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_8665d0756b8240ecb4d0": { + "cake_causal_conv1d_det_train_8665d0756b8240ecb4d0": { "arches": [ "sm_107a", ], @@ -966,8 +966,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_8665d0756b8240ecb4d0", - "kernel_symbol": "kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0", + "kernel": "cake_causal_conv1d_det_train_8665d0756b8240ecb4d0", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -975,7 +975,7 @@ "dynamic_smem_bytes": 33920, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_8665d0756b8240ecb4d0", + "library": "cake_causal_conv1d_det_train_8665d0756b8240ecb4d0", "logical": { "C": "C", "S": "S", @@ -1009,7 +1009,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_176ebb3e14f7ad9c94dc": { + "cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc": { "arches": [ "sm_107a", ], @@ -1041,8 +1041,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_176ebb3e14f7ad9c94dc", - "kernel_symbol": "kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc", + "kernel": "cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1050,7 +1050,7 @@ "dynamic_smem_bytes": 33920, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_176ebb3e14f7ad9c94dc", + "library": "cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc", "logical": { "C": "C", "S": "S", @@ -1085,7 +1085,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_d829c95e1d610bc14b23": { + "cake_causal_conv1d_det_train_d829c95e1d610bc14b23": { "arches": [ "sm_107a", ], @@ -1118,8 +1118,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_d829c95e1d610bc14b23", - "kernel_symbol": "kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23", + "kernel": "cake_causal_conv1d_det_train_d829c95e1d610bc14b23", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1127,7 +1127,7 @@ "dynamic_smem_bytes": 33920, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_d829c95e1d610bc14b23", + "library": "cake_causal_conv1d_det_train_d829c95e1d610bc14b23", "logical": { "C": "C", "S": "S", @@ -1165,7 +1165,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa": { + "cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa": { "arches": [ "sm_100a", "sm_103a", @@ -1205,8 +1205,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa", - "kernel_symbol": "kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa", + "kernel": "cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1214,7 +1214,7 @@ "dynamic_smem_bytes": 50176, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa", + "library": "cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa", "logical": { "C": "C", "S": "S", @@ -1233,7 +1233,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_ea8f91038a9dea452ff2", + "reduce": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1245,7 +1245,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_8b9b8db0833fd64a578f": { + "cake_causal_conv1d_det_train_8b9b8db0833fd64a578f": { "arches": [ "sm_107a", ], @@ -1281,8 +1281,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_8b9b8db0833fd64a578f", - "kernel_symbol": "kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f", + "kernel": "cake_causal_conv1d_det_train_8b9b8db0833fd64a578f", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1290,7 +1290,7 @@ "dynamic_smem_bytes": 50176, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_8b9b8db0833fd64a578f", + "library": "cake_causal_conv1d_det_train_8b9b8db0833fd64a578f", "logical": { "C": "C", "S": "S", @@ -1307,7 +1307,7 @@ "w": "w", "x": "x", }, - "reduce": "cake_causal_conv1d_train_ea8f91038a9dea452ff2", + "reduce": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1322,7 +1322,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_2d91e5f926238453c78c": { + "cake_causal_conv1d_det_train_2d91e5f926238453c78c": { "arches": [ "sm_100a", "sm_103a", @@ -1363,8 +1363,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_2d91e5f926238453c78c", - "kernel_symbol": "kernel_cake_causal_conv1d_train_2d91e5f926238453c78c", + "kernel": "cake_causal_conv1d_det_train_2d91e5f926238453c78c", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1372,7 +1372,7 @@ "dynamic_smem_bytes": 54272, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_2d91e5f926238453c78c", + "library": "cake_causal_conv1d_det_train_2d91e5f926238453c78c", "logical": { "C": "C", "S": "S", @@ -1392,7 +1392,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_1c21c181af94e1635851", + "reduce": "cake_causal_conv1d_det_train_1c21c181af94e1635851", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1404,7 +1404,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_cc7a117aee9c7ae829c4": { + "cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4": { "arches": [ "sm_107a", ], @@ -1441,8 +1441,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_cc7a117aee9c7ae829c4", - "kernel_symbol": "kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4", + "kernel": "cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1450,7 +1450,7 @@ "dynamic_smem_bytes": 54272, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_cc7a117aee9c7ae829c4", + "library": "cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4", "logical": { "C": "C", "S": "S", @@ -1468,7 +1468,7 @@ "w": "w", "x": "x", }, - "reduce": "cake_causal_conv1d_train_1c21c181af94e1635851", + "reduce": "cake_causal_conv1d_det_train_1c21c181af94e1635851", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1483,7 +1483,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_c8027a64ba3cc38333bf": { + "cake_causal_conv1d_det_train_c8027a64ba3cc38333bf": { "arches": [ "sm_100a", "sm_103a", @@ -1523,8 +1523,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_c8027a64ba3cc38333bf", - "kernel_symbol": "kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf", + "kernel": "cake_causal_conv1d_det_train_c8027a64ba3cc38333bf", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1532,7 +1532,7 @@ "dynamic_smem_bytes": 66560, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_c8027a64ba3cc38333bf", + "library": "cake_causal_conv1d_det_train_c8027a64ba3cc38333bf", "logical": { "C": "C", "S": "S", @@ -1551,7 +1551,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_ce49146b9fef24adb47e", + "reduce": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1563,7 +1563,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_f1545adfd2bb28044419": { + "cake_causal_conv1d_det_train_f1545adfd2bb28044419": { "arches": [ "sm_107a", ], @@ -1599,8 +1599,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_f1545adfd2bb28044419", - "kernel_symbol": "kernel_cake_causal_conv1d_train_f1545adfd2bb28044419", + "kernel": "cake_causal_conv1d_det_train_f1545adfd2bb28044419", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1608,7 +1608,7 @@ "dynamic_smem_bytes": 66560, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_f1545adfd2bb28044419", + "library": "cake_causal_conv1d_det_train_f1545adfd2bb28044419", "logical": { "C": "C", "S": "S", @@ -1625,7 +1625,7 @@ "w": "w", "x": "x", }, - "reduce": "cake_causal_conv1d_train_ce49146b9fef24adb47e", + "reduce": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1637,7 +1637,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_149ca6f53934ba630033": { + "cake_causal_conv1d_det_train_149ca6f53934ba630033": { "arches": [ "sm_100a", "sm_103a", @@ -1678,8 +1678,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_149ca6f53934ba630033", - "kernel_symbol": "kernel_cake_causal_conv1d_train_149ca6f53934ba630033", + "kernel": "cake_causal_conv1d_det_train_149ca6f53934ba630033", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1687,7 +1687,7 @@ "dynamic_smem_bytes": 74752, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_149ca6f53934ba630033", + "library": "cake_causal_conv1d_det_train_149ca6f53934ba630033", "logical": { "C": "C", "S": "S", @@ -1707,7 +1707,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea", + "reduce": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1719,7 +1719,7 @@ # ``dynamic_smem_bytes`` 0 is the placeholder of a program whose shared memory follows # the kernel (the exporter's ``KERNEL_SMEM_PROGRAMS``): the first render writes the # kernel's figure, the kernel symbol, the argument plan and the logical names it keeps. - "cake_causal_conv1d_train_843c010db78c79107fd3": { + "cake_causal_conv1d_det_train_843c010db78c79107fd3": { "arches": [ "sm_107a", ], @@ -1756,8 +1756,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_843c010db78c79107fd3", - "kernel_symbol": "kernel_cake_causal_conv1d_train_843c010db78c79107fd3", + "kernel": "cake_causal_conv1d_det_train_843c010db78c79107fd3", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1765,7 +1765,7 @@ "dynamic_smem_bytes": 74752, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_843c010db78c79107fd3", + "library": "cake_causal_conv1d_det_train_843c010db78c79107fd3", "logical": { "C": "C", "S": "S", @@ -1783,7 +1783,7 @@ "w": "w", "x": "x", }, - "reduce": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea", + "reduce": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea", "role": "bwd", "workspace_rule": { "kind": "partial_rows", @@ -1796,7 +1796,7 @@ # (2 CTAs per SM); it runs when C >= select_rule.channels[arch] and no # routed record of a higher threshold admits C; below every threshold the # fallback record (no select_rule) runs. - "cake_causal_conv1d_train_2675cc1cb4efc0937378": { + "cake_causal_conv1d_det_train_2675cc1cb4efc0937378": { "arches": [ "sm_100a", "sm_103a", @@ -1838,8 +1838,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_2675cc1cb4efc0937378", - "kernel_symbol": "kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378", + "kernel": "cake_causal_conv1d_det_train_2675cc1cb4efc0937378", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1847,7 +1847,7 @@ "dynamic_smem_bytes": 82944, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_2675cc1cb4efc0937378", + "library": "cake_causal_conv1d_det_train_2675cc1cb4efc0937378", "logical": { "C": "C", "S": "S", @@ -1866,7 +1866,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_ea8f91038a9dea452ff2", + "reduce": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2", "role": "bwd", "select_rule": { "channels": { @@ -1886,7 +1886,7 @@ # (2 CTAs per SM); it runs when C >= select_rule.channels[arch] and no # routed record of a higher threshold admits C; below every threshold the # fallback record (no select_rule) runs. - "cake_causal_conv1d_train_517710d1f0988cf570a9": { + "cake_causal_conv1d_det_train_517710d1f0988cf570a9": { "arches": [ "sm_100a", "sm_103a", @@ -1929,8 +1929,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_517710d1f0988cf570a9", - "kernel_symbol": "kernel_cake_causal_conv1d_train_517710d1f0988cf570a9", + "kernel": "cake_causal_conv1d_det_train_517710d1f0988cf570a9", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -1938,7 +1938,7 @@ "dynamic_smem_bytes": 87040, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_517710d1f0988cf570a9", + "library": "cake_causal_conv1d_det_train_517710d1f0988cf570a9", "logical": { "C": "C", "S": "S", @@ -1958,7 +1958,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_1c21c181af94e1635851", + "reduce": "cake_causal_conv1d_det_train_1c21c181af94e1635851", "role": "bwd", "select_rule": { "channels": { @@ -1979,7 +1979,7 @@ # (2 CTAs per SM); it runs when C >= select_rule.channels[arch] and no # routed record of a higher threshold admits C; below every threshold the # fallback record (no select_rule) runs. - "cake_causal_conv1d_train_170d89481a616ae977b3": { + "cake_causal_conv1d_det_train_170d89481a616ae977b3": { "arches": [ "sm_100a", "sm_103a", @@ -2021,8 +2021,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_170d89481a616ae977b3", - "kernel_symbol": "kernel_cake_causal_conv1d_train_170d89481a616ae977b3", + "kernel": "cake_causal_conv1d_det_train_170d89481a616ae977b3", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -2030,7 +2030,7 @@ "dynamic_smem_bytes": 99328, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_170d89481a616ae977b3", + "library": "cake_causal_conv1d_det_train_170d89481a616ae977b3", "logical": { "C": "C", "S": "S", @@ -2049,7 +2049,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_ce49146b9fef24adb47e", + "reduce": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e", "role": "bwd", "select_rule": { "channels": { @@ -2070,7 +2070,7 @@ # (2 CTAs per SM); it runs when C >= select_rule.channels[arch] and no # routed record of a higher threshold admits C; below every threshold the # fallback record (no select_rule) runs. - "cake_causal_conv1d_train_a681165b3e81204c73ff": { + "cake_causal_conv1d_det_train_a681165b3e81204c73ff": { "arches": [ "sm_100a", "sm_103a", @@ -2113,8 +2113,8 @@ }, "kind": "occupancy", }, - "kernel": "cake_causal_conv1d_train_a681165b3e81204c73ff", - "kernel_symbol": "kernel_cake_causal_conv1d_train_a681165b3e81204c73ff", + "kernel": "cake_causal_conv1d_det_train_a681165b3e81204c73ff", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -2122,7 +2122,7 @@ "dynamic_smem_bytes": 107520, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_a681165b3e81204c73ff", + "library": "cake_causal_conv1d_det_train_a681165b3e81204c73ff", "logical": { "C": "C", "S": "S", @@ -2142,7 +2142,7 @@ "x": "x", "x_map": "x", }, - "reduce": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea", + "reduce": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea", "role": "bwd", "select_rule": { "channels": { @@ -2170,7 +2170,7 @@ # xor tree 16, 8, 4, 2, 1 -- so ``dweight`` is bitwise what one launch # produced. Built with its kernel file's default keywords, one program # for the three architectures. - "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5": { + "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5": { "arches": [ "sm_100a", "sm_103a", @@ -2195,8 +2195,8 @@ "cooperative": False, "kind": "channels_per_cta", }, - "kernel": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", - "kernel_symbol": "kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "kernel": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -2204,7 +2204,7 @@ "dynamic_smem_bytes": 2048, "use_pdl": True, }, - "library": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5", + "library": "cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5", "logical": { "C": "C", "ct_vec": "ct_vec", @@ -2220,7 +2220,7 @@ # symbol, argument plan and logical map): the default reduce built with ``dtype_flags=True``; it # stores ``dw`` as BF16 when ``flags`` bit 1 says so; # otherwise the default reduce's order and CTA shape (one warp per channel). - "cake_causal_conv1d_train_ea8f91038a9dea452ff2": { + "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2": { "arches": [ "sm_100a", "sm_103a", @@ -2244,8 +2244,8 @@ "cooperative": False, "kind": "channels_per_cta", }, - "kernel": "cake_causal_conv1d_train_ea8f91038a9dea452ff2", - "kernel_symbol": "kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2", + "kernel": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -2253,7 +2253,7 @@ "dynamic_smem_bytes": 2048, "use_pdl": True, }, - "library": "cake_causal_conv1d_train_ea8f91038a9dea452ff2", + "library": "cake_causal_conv1d_det_train_ea8f91038a9dea452ff2", "logical": { "C": "C", "ct_vec": "ct_vec", @@ -2271,7 +2271,7 @@ # sums the fifth, dbias, slab of the partial rows into ``db`` as well; # stores ``dw`` / ``db`` as BF16 when ``flags`` bit 1 / 3 says so; # otherwise the default reduce's order and CTA shape (one warp per channel). - "cake_causal_conv1d_train_1c21c181af94e1635851": { + "cake_causal_conv1d_det_train_1c21c181af94e1635851": { "arches": [ "sm_100a", "sm_103a", @@ -2296,8 +2296,8 @@ "cooperative": False, "kind": "channels_per_cta", }, - "kernel": "cake_causal_conv1d_train_1c21c181af94e1635851", - "kernel_symbol": "kernel_cake_causal_conv1d_train_1c21c181af94e1635851", + "kernel": "cake_causal_conv1d_det_train_1c21c181af94e1635851", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -2305,7 +2305,7 @@ "dynamic_smem_bytes": 2560, "use_pdl": True, }, - "library": "cake_causal_conv1d_train_1c21c181af94e1635851", + "library": "cake_causal_conv1d_det_train_1c21c181af94e1635851", "logical": { "C": "C", "ct_vec": "ct_vec", @@ -2324,7 +2324,7 @@ # sums in FP64 (lane sums and the xor tree) with one final rounding; # stores ``dw`` as BF16 when ``flags`` bit 1 says so; # otherwise the default reduce's order and CTA shape (one warp per channel). - "cake_causal_conv1d_train_ce49146b9fef24adb47e": { + "cake_causal_conv1d_det_train_ce49146b9fef24adb47e": { "arches": [ "sm_100a", "sm_103a", @@ -2348,8 +2348,8 @@ "cooperative": False, "kind": "channels_per_cta", }, - "kernel": "cake_causal_conv1d_train_ce49146b9fef24adb47e", - "kernel_symbol": "kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e", + "kernel": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -2357,7 +2357,7 @@ "dynamic_smem_bytes": 4096, "use_pdl": True, }, - "library": "cake_causal_conv1d_train_ce49146b9fef24adb47e", + "library": "cake_causal_conv1d_det_train_ce49146b9fef24adb47e", "logical": { "C": "C", "ct_vec": "ct_vec", @@ -2376,7 +2376,7 @@ # sums in FP64 (lane sums and the xor tree) with one final rounding; # stores ``dw`` / ``db`` as BF16 when ``flags`` bit 1 / 3 says so; # otherwise the default reduce's order and CTA shape (one warp per channel). - "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea": { + "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea": { "arches": [ "sm_100a", "sm_103a", @@ -2401,8 +2401,8 @@ "cooperative": False, "kind": "channels_per_cta", }, - "kernel": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea", - "kernel_symbol": "kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea", + "kernel": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -2410,7 +2410,7 @@ "dynamic_smem_bytes": 5120, "use_pdl": True, }, - "library": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea", + "library": "cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea", "logical": { "C": "C", "ct_vec": "ct_vec", @@ -2434,102 +2434,102 @@ ROUTES: dict[str, dict[str, list[str]]] = { "sm_100a": { "bwd": [ - "cake_causal_conv1d_train_9bfa65707a49df6a48ce", - "cake_causal_conv1d_train_37e428406a0cc4a8ca1b", + "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce", + "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b", ], "bwd_bias": [ - "cake_causal_conv1d_train_2d91e5f926238453c78c", - "cake_causal_conv1d_train_517710d1f0988cf570a9", + "cake_causal_conv1d_det_train_2d91e5f926238453c78c", + "cake_causal_conv1d_det_train_517710d1f0988cf570a9", ], "bwd_bias_fp32g": [ - "cake_causal_conv1d_train_149ca6f53934ba630033", - "cake_causal_conv1d_train_a681165b3e81204c73ff", + "cake_causal_conv1d_det_train_149ca6f53934ba630033", + "cake_causal_conv1d_det_train_a681165b3e81204c73ff", ], "bwd_dt": [ - "cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa", - "cake_causal_conv1d_train_2675cc1cb4efc0937378", + "cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa", + "cake_causal_conv1d_det_train_2675cc1cb4efc0937378", ], "bwd_fp32g": [ - "cake_causal_conv1d_train_c8027a64ba3cc38333bf", - "cake_causal_conv1d_train_170d89481a616ae977b3", + "cake_causal_conv1d_det_train_c8027a64ba3cc38333bf", + "cake_causal_conv1d_det_train_170d89481a616ae977b3", ], "fwd": [ - "cake_causal_conv1d_train_f5497330bfd286211643", + "cake_causal_conv1d_det_train_f5497330bfd286211643", ], "fwd_bias": [ - "cake_causal_conv1d_train_08880ca12e4064bc8cdb", + "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb", ], "fwd_dt": [ - "cake_causal_conv1d_train_9c1e7ee9f37e3102660e", + "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e", ], }, "sm_103a": { "bwd": [ - "cake_causal_conv1d_train_9bfa65707a49df6a48ce", - "cake_causal_conv1d_train_37e428406a0cc4a8ca1b", - "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6", + "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce", + "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b", + "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6", ], "bwd_bias": [ - "cake_causal_conv1d_train_2d91e5f926238453c78c", - "cake_causal_conv1d_train_517710d1f0988cf570a9", + "cake_causal_conv1d_det_train_2d91e5f926238453c78c", + "cake_causal_conv1d_det_train_517710d1f0988cf570a9", ], "bwd_bias_fp32g": [ - "cake_causal_conv1d_train_149ca6f53934ba630033", - "cake_causal_conv1d_train_a681165b3e81204c73ff", + "cake_causal_conv1d_det_train_149ca6f53934ba630033", + "cake_causal_conv1d_det_train_a681165b3e81204c73ff", ], "bwd_dt": [ - "cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa", - "cake_causal_conv1d_train_2675cc1cb4efc0937378", + "cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa", + "cake_causal_conv1d_det_train_2675cc1cb4efc0937378", ], "bwd_fp32g": [ - "cake_causal_conv1d_train_c8027a64ba3cc38333bf", - "cake_causal_conv1d_train_170d89481a616ae977b3", + "cake_causal_conv1d_det_train_c8027a64ba3cc38333bf", + "cake_causal_conv1d_det_train_170d89481a616ae977b3", ], "fwd": [ - "cake_causal_conv1d_train_f5497330bfd286211643", + "cake_causal_conv1d_det_train_f5497330bfd286211643", ], "fwd_bias": [ - "cake_causal_conv1d_train_08880ca12e4064bc8cdb", + "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb", ], "fwd_dt": [ - "cake_causal_conv1d_train_9c1e7ee9f37e3102660e", + "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e", ], }, "sm_107a": { "bwd": [ - "cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c", - "cake_causal_conv1d_train_37e428406a0cc4a8ca1b", - "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6", - "cake_causal_conv1d_train_aeff6106e2822f313a0c", - "cake_causal_conv1d_train_9a07bcaa0223632640ee", + "cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c", + "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b", + "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6", + "cake_causal_conv1d_det_train_aeff6106e2822f313a0c", + "cake_causal_conv1d_det_train_9a07bcaa0223632640ee", ], "bwd_bias": [ - "cake_causal_conv1d_train_cc7a117aee9c7ae829c4", - "cake_causal_conv1d_train_517710d1f0988cf570a9", + "cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4", + "cake_causal_conv1d_det_train_517710d1f0988cf570a9", ], "bwd_bias_fp32g": [ - "cake_causal_conv1d_train_843c010db78c79107fd3", - "cake_causal_conv1d_train_a681165b3e81204c73ff", + "cake_causal_conv1d_det_train_843c010db78c79107fd3", + "cake_causal_conv1d_det_train_a681165b3e81204c73ff", ], "bwd_dt": [ - "cake_causal_conv1d_train_8b9b8db0833fd64a578f", - "cake_causal_conv1d_train_2675cc1cb4efc0937378", + "cake_causal_conv1d_det_train_8b9b8db0833fd64a578f", + "cake_causal_conv1d_det_train_2675cc1cb4efc0937378", ], "bwd_fp32g": [ - "cake_causal_conv1d_train_f1545adfd2bb28044419", - "cake_causal_conv1d_train_170d89481a616ae977b3", + "cake_causal_conv1d_det_train_f1545adfd2bb28044419", + "cake_causal_conv1d_det_train_170d89481a616ae977b3", ], "fwd": [ - "cake_causal_conv1d_train_f5497330bfd286211643", - "cake_causal_conv1d_train_8665d0756b8240ecb4d0", + "cake_causal_conv1d_det_train_f5497330bfd286211643", + "cake_causal_conv1d_det_train_8665d0756b8240ecb4d0", ], "fwd_bias": [ - "cake_causal_conv1d_train_08880ca12e4064bc8cdb", - "cake_causal_conv1d_train_d829c95e1d610bc14b23", + "cake_causal_conv1d_det_train_08880ca12e4064bc8cdb", + "cake_causal_conv1d_det_train_d829c95e1d610bc14b23", ], "fwd_dt": [ - "cake_causal_conv1d_train_9c1e7ee9f37e3102660e", - "cake_causal_conv1d_train_176ebb3e14f7ad9c94dc", + "cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e", + "cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc", ], }, } diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/.clang-format b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/.clang-format similarity index 75% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/.clang-format rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/.clang-format index 5b709a08807..fae08c8733d 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/.clang-format +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/.clang-format @@ -1,4 +1,4 @@ -# Receipt-bound generated sources (Cake export of cake_causal_conv1d_train): the source registry attests these bytes; +# Receipt-bound generated sources (Cake export of cake_causal_conv1d_det_train): the source registry attests these bytes; # formatting them would break the receipts that bind them to the exporter. DisableFormat: true SortIncludes: Never diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu similarity index 87% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu index 6cb7025e294..1bfa86720e0 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -110,11 +110,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_y, Tensor config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 46208; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu index e4df5913c3f..83cf7d2e82f 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_08880ca12e4064bc8cdb_kernel.cu @@ -165,7 +165,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_08880ca12e4064bc8cdb(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_08880ca12e4064bc8cdb(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu index 10fbd22e6ed..d983b195409 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_149ca6f53934ba630033, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_149ca6f53934ba630033(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_149ca6f53934ba630033 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_149ca6f53934ba630033"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -193,7 +193,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_149ca6f53934ba630033), cudaFuncAttributeMaxDynamicSharedMemorySize, 74752), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033), cudaFuncAttributeMaxDynamicSharedMemorySize, 74752), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -220,11 +220,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 74752; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_149ca6f53934ba630033), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_149ca6f53934ba630033 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_149ca6f53934ba630033::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu index 0bfcfa93e5c..bf6df9b637e 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_149ca6f53934ba630033_kernel.cu @@ -195,7 +195,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_149ca6f53934ba630033(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_149ca6f53934ba630033(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu index 3d18bd6a9b2..1f399680381 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_170d89481a616ae977b3, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_170d89481a616ae977b3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_170d89481a616ae977b3 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_170d89481a616ae977b3"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -190,7 +190,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_170d89481a616ae977b3), cudaFuncAttributeMaxDynamicSharedMemorySize, 99328), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3), cudaFuncAttributeMaxDynamicSharedMemorySize, 99328), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -216,11 +216,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 99328; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_170d89481a616ae977b3), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_170d89481a616ae977b3 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_170d89481a616ae977b3::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu index 8402e700bce..6c5f9f7c11f 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_170d89481a616ae977b3_kernel.cu @@ -195,7 +195,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_170d89481a616ae977b3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_170d89481a616ae977b3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_binding.cu similarity index 87% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_binding.cu index 40e01e8f5f8..efaec38661e 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -106,11 +106,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_y, Tensor config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 33920; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_kernel.cu similarity index 98% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_kernel.cu index 3848a4b0058..0b65b3f3500 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_kernel.cu @@ -165,7 +165,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_176ebb3e14f7ad9c94dc(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu index 2acc21d983f..5bebdf40dca 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_binding.cu @@ -14,20 +14,20 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_1c21c181af94e1635851, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851, for the device source that defines it. Do not edit. #include #include "cake_ffi_checks.h" #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_1c21c181af94e1635851(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_1c21c181af94e1635851 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_1c21c181af94e1635851"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -87,11 +87,11 @@ void Run(TensorView a_partial, TensorView a_dw, TensorView a_db, int64_t a_C, in attrs[0].val.programmaticStreamSerializationAllowed = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_1c21c181af94e1635851), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_1c21c181af94e1635851 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_1c21c181af94e1635851::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu similarity index 97% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu index 11c9d6e6ed9..f0484bb99f2 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_1c21c181af94e1635851_kernel.cu @@ -61,7 +61,7 @@ __device__ __forceinline__ int make_warp_uniform(int x) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_1c21c181af94e1635851(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) +kernel_cake_causal_conv1d_det_train_1c21c181af94e1635851(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu index bf764eef665..5635ec1348e 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -190,7 +190,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -216,11 +216,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 82944; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu index 5fedfc7d8e1..64570b74892 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2675cc1cb4efc0937378_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_2675cc1cb4efc0937378(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_2675cc1cb4efc0937378(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu index 6474d418257..df2eb2712b2 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_2d91e5f926238453c78c, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_2d91e5f926238453c78c(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_2d91e5f926238453c78c { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_2d91e5f926238453c78c"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -193,7 +193,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_2d91e5f926238453c78c), cudaFuncAttributeMaxDynamicSharedMemorySize, 54272), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c), cudaFuncAttributeMaxDynamicSharedMemorySize, 54272), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -220,11 +220,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 54272; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_2d91e5f926238453c78c), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_2d91e5f926238453c78c +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_2d91e5f926238453c78c::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu index 54b91d4fbd6..541b68d19e3 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_2d91e5f926238453c78c_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_2d91e5f926238453c78c(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_2d91e5f926238453c78c(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu index 2d2bb798ac2..634ff23424a 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -188,7 +188,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -213,11 +213,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 82944; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu index 08ab225c082..65cf1fcb31e 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu index 501eb9a4ecf..275e3cb1550 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_binding.cu @@ -14,20 +14,20 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea, for the device source that defines it. Do not edit. #include #include "cake_ffi_checks.h" #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -87,11 +87,11 @@ void Run(TensorView a_partial, TensorView a_dw, TensorView a_db, int64_t a_C, in attrs[0].val.programmaticStreamSerializationAllowed = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu similarity index 97% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu index b5476806795..49ed1dd599f 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea_kernel.cu @@ -60,7 +60,7 @@ __device__ __forceinline__ int make_warp_uniform(int x) { extern "C" { __global__ __launch_bounds__(128) void -kernel_cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) +kernel_cake_causal_conv1d_det_train_4d291f4b5c2cce6ef1ea(float* __restrict__ partial, void* __restrict__ dw, void* __restrict__ db, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu index 8303b9ddaf4..0a7e690b601 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_517710d1f0988cf570a9, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_517710d1f0988cf570a9(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_517710d1f0988cf570a9 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_517710d1f0988cf570a9"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -193,7 +193,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_517710d1f0988cf570a9), cudaFuncAttributeMaxDynamicSharedMemorySize, 87040), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9), cudaFuncAttributeMaxDynamicSharedMemorySize, 87040), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -220,11 +220,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 87040; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_517710d1f0988cf570a9), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_517710d1f0988cf570a9 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_517710d1f0988cf570a9::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu index 861d29889b3..1a769e2b655 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_517710d1f0988cf570a9(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_517710d1f0988cf570a9(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_binding.cu index ac117208a59..1c9e1a58eee 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_843c010db78c79107fd3, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_843c010db78c79107fd3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_843c010db78c79107fd3 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_843c010db78c79107fd3"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -99,7 +99,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso static thread_local uint64_t prepared_devices = 0; const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_843c010db78c79107fd3), cudaFuncAttributeMaxDynamicSharedMemorySize, 74752), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3), cudaFuncAttributeMaxDynamicSharedMemorySize, 74752), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -124,11 +124,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 74752; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_843c010db78c79107fd3), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_843c010db78c79107fd3 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_843c010db78c79107fd3::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_kernel.cu index 8ddcc94b538..b54616b3f2f 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_843c010db78c79107fd3_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_843c010db78c79107fd3_kernel.cu @@ -182,7 +182,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_843c010db78c79107fd3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_843c010db78c79107fd3(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_binding.cu index df3bd069694..bcbaef3d864 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); -namespace cake_binding_kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -103,11 +103,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_y, Tensor config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 33920; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_kernel.cu similarity index 98% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_kernel.cu index 854a4d2e713..c46295ed425 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8665d0756b8240ecb4d0_kernel.cu @@ -165,7 +165,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_8665d0756b8240ecb4d0(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) +kernel_cake_causal_conv1d_det_train_8665d0756b8240ecb4d0(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu similarity index 85% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu index 29bf0b1b08c..9048ab4a2c1 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_binding.cu @@ -14,20 +14,20 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5, for the device source that defines it. Do not edit. #include #include "cake_ffi_checks.h" #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5(float* __restrict__ partial, float* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5(float* __restrict__ partial, float* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec); -namespace cake_binding_kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -80,11 +80,11 @@ void Run(TensorView a_partial, TensorView a_dw, int64_t a_C, int64_t a_main_ctas attrs[0].val.programmaticStreamSerializationAllowed = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu similarity index 97% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu index 007bee71361..44c2965c85a 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5_kernel.cu @@ -61,7 +61,7 @@ __device__ __forceinline__ int make_warp_uniform(int x) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_86b5ecfbd90aca4b52e5(float* __restrict__ partial, float* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec) +kernel_cake_causal_conv1d_det_train_86b5ecfbd90aca4b52e5(float* __restrict__ partial, float* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_binding.cu index f3f8e1fc7f3..8f5539ef622 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -96,7 +96,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso static thread_local uint64_t prepared_devices = 0; const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -120,11 +120,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 50176; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_kernel.cu index b7952763b98..be4a41a035f 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_8b9b8db0833fd64a578f_kernel.cu @@ -187,7 +187,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_8b9b8db0833fd64a578f(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_8b9b8db0833fd64a578f(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_binding.cu index 78bd938a809..cdd43975a44 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); -namespace cake_binding_kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -94,7 +94,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso static thread_local uint64_t prepared_devices = 0; const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -117,11 +117,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 50176; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_kernel.cu index ff206112f2c..a97775775f2 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9a07bcaa0223632640ee_kernel.cu @@ -187,7 +187,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_9a07bcaa0223632640ee(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) +kernel_cake_causal_conv1d_det_train_9a07bcaa0223632640ee(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu index 4e6fb0cb456..e550696b710 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -188,7 +188,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -213,11 +213,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 66560; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu index 64e835a6232..7b78ef1eed3 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9bfa65707a49df6a48ce_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_9bfa65707a49df6a48ce(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu similarity index 87% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu index c49a5a9c098..f679e4fc9b3 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -106,11 +106,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_y, Tensor config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 46208; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu index 3bd6eeb651d..4e4ca845dba 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e_kernel.cu @@ -165,7 +165,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_9c1e7ee9f37e3102660e(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_9c1e7ee9f37e3102660e(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu index f9bda28dd45..0b52e68def8 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -190,7 +190,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -216,11 +216,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 50176; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu index 6b96f3b91f8..8e38336ad8e 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_9c8310a1d3fa9b8ccffa(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu index e25ad6f3351..4ae0a22b92a 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_a681165b3e81204c73ff, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_a681165b3e81204c73ff(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_a681165b3e81204c73ff { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_a681165b3e81204c73ff"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -193,7 +193,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_a681165b3e81204c73ff), cudaFuncAttributeMaxDynamicSharedMemorySize, 107520), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff), cudaFuncAttributeMaxDynamicSharedMemorySize, 107520), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -220,11 +220,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 107520; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_a681165b3e81204c73ff), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_a681165b3e81204c73ff +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_a681165b3e81204c73ff::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu index 9bb034b5713..c3a6c8bf660 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_a681165b3e81204c73ff_kernel.cu @@ -195,7 +195,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_a681165b3e81204c73ff(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_a681165b3e81204c73ff(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_binding.cu index 10f2f50c709..460b1f8d3b0 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -188,7 +188,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -213,11 +213,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 82944; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_37e428406a0cc4a8ca1b::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_kernel.cu index d63fc65e982..cc30594f2da 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_aeff6106e2822f313a0c_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_aeff6106e2822f313a0c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_aeff6106e2822f313a0c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_binding.cu index 7f54c46fc7b..db559898ad6 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -188,7 +188,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -213,11 +213,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 66560; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_kernel.cu index 15c2b2c27a6..ac1701d7584 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu index 20b6316d766..80d698775ad 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -190,7 +190,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -216,11 +216,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 66560; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu index 0c9d8616cfd..c47d5b9956e 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_c8027a64ba3cc38333bf_kernel.cu @@ -195,7 +195,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_c8027a64ba3cc38333bf(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_c8027a64ba3cc38333bf(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_binding.cu index f8c650d90c9..e6821818c74 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -99,7 +99,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso static thread_local uint64_t prepared_devices = 0; const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4), cudaFuncAttributeMaxDynamicSharedMemorySize, 54272), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4), cudaFuncAttributeMaxDynamicSharedMemorySize, 54272), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -124,11 +124,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 54272; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_kernel.cu index 98a61c27ac0..4ae4e32011a 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4_kernel.cu @@ -187,7 +187,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_cc7a117aee9c7ae829c4(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_cc7a117aee9c7ae829c4(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, void* __restrict__ b, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu index d8db9e9b86c..a07f8837e2d 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_binding.cu @@ -14,20 +14,20 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e, for the device source that defines it. Do not edit. #include #include "cake_ffi_checks.h" #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -83,11 +83,11 @@ void Run(TensorView a_partial, TensorView a_dw, int64_t a_C, int64_t a_main_ctas attrs[0].val.programmaticStreamSerializationAllowed = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu similarity index 97% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu index 828cad1243d..775d27b8187 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ce49146b9fef24adb47e_kernel.cu @@ -60,7 +60,7 @@ __device__ __forceinline__ int make_warp_uniform(int x) { extern "C" { __global__ __launch_bounds__(128) void -kernel_cake_causal_conv1d_train_ce49146b9fef24adb47e(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) +kernel_cake_causal_conv1d_det_train_ce49146b9fef24adb47e(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu similarity index 91% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu index 3a53357c944..2a21ac4d7a8 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -188,7 +188,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -213,11 +213,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 66560; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_9bfa65707a49df6a48ce::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu index 08228de3f23..717d7ee8d78 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6_kernel.cu @@ -200,7 +200,7 @@ __device__ __forceinline__ unsigned int __as_u32(int v) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_d46036aa2bc5f90bb0f6(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_binding.cu similarity index 87% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_binding.cu index d71fe11314d..6a8f9257324 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -110,11 +110,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_y, Tensor config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 33920; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_kernel.cu similarity index 98% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_kernel.cu index 070f5277e02..11f543ab02a 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_d829c95e1d610bc14b23_kernel.cu @@ -165,7 +165,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_d829c95e1d610bc14b23(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_d829c95e1d610bc14b23(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, void* __restrict__ b, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu index dac3b93fd8f..903de2398f5 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_binding.cu @@ -14,20 +14,20 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2, for the device source that defines it. Do not edit. #include #include "cake_ffi_checks.h" #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -83,11 +83,11 @@ void Run(TensorView a_partial, TensorView a_dw, int64_t a_C, int64_t a_main_ctas attrs[0].val.programmaticStreamSerializationAllowed = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu similarity index 97% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu index 6b3bf7360b0..d998ab555c0 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_ea8f91038a9dea452ff2_kernel.cu @@ -61,7 +61,7 @@ __device__ __forceinline__ int make_warp_uniform(int x) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_ea8f91038a9dea452ff2(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) +kernel_cake_causal_conv1d_det_train_ea8f91038a9dea452ff2(float* __restrict__ partial, void* __restrict__ dw, int C, int main_ctas, int n_ch_tiles, int ct_vec, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_binding.cu index d7da5f25dbd..8583643d4f5 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_f1545adfd2bb28044419, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_f1545adfd2bb28044419(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags); -namespace cake_binding_kernel_cake_causal_conv1d_train_f1545adfd2bb28044419 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_f1545adfd2bb28044419"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -96,7 +96,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso static thread_local uint64_t prepared_devices = 0; const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_f1545adfd2bb28044419), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419), cudaFuncAttributeMaxDynamicSharedMemorySize, 66560), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -120,11 +120,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 66560; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_f1545adfd2bb28044419), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_f1545adfd2bb28044419 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_f1545adfd2bb28044419::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_kernel.cu index b221081b172..69389668936 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f1545adfd2bb28044419_kernel.cu @@ -182,7 +182,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_f1545adfd2bb28044419(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) +kernel_cake_causal_conv1d_det_train_f1545adfd2bb28044419(__nv_bfloat16* __restrict__ x, void* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ partial, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, int flags) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu index 5d72928b3c5..64cc71e0f5c 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_f5497330bfd286211643, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_f5497330bfd286211643, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_f5497330bfd286211643(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_f5497330bfd286211643(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); -namespace cake_binding_kernel_cake_causal_conv1d_train_f5497330bfd286211643 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_f5497330bfd286211643 { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_f5497330bfd286211643"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_f5497330bfd286211643"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -103,11 +103,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_y, Tensor config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 46208; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_f5497330bfd286211643), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_f5497330bfd286211643), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_f5497330bfd286211643 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_f5497330bfd286211643 -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_f5497330bfd286211643::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_f5497330bfd286211643::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu index c1b4417cc18..bf2e1fc0f77 100644 --- a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu @@ -165,7 +165,7 @@ __device__ __forceinline__ void cp_async_bulk_gmem2smem( extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_f5497330bfd286211643(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) +kernel_cake_causal_conv1d_det_train_f5497330bfd286211643(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, int* __restrict__ work, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu diff --git a/flashinfer/cake_causal_conv1d_train_backend/csrc/cake_ffi_checks.h b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_ffi_checks.h similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/csrc/cake_ffi_checks.h rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_ffi_checks.h diff --git a/flashinfer/cake_causal_conv1d_train_backend/kcp.py b/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/kcp.py rename to flashinfer/cake_causal_conv1d_det_train_backend/kcp.py diff --git a/flashinfer/cake_causal_conv1d_train_backend/kcp_jit.py b/flashinfer/cake_causal_conv1d_det_train_backend/kcp_jit.py similarity index 100% rename from flashinfer/cake_causal_conv1d_train_backend/kcp_jit.py rename to flashinfer/cake_causal_conv1d_det_train_backend/kcp_jit.py diff --git a/flashinfer/cake_causal_conv1d_train_backend/build.json b/flashinfer/cake_causal_conv1d_train_backend/build.json deleted file mode 100644 index d7bdde40dcd..00000000000 --- a/flashinfer/cake_causal_conv1d_train_backend/build.json +++ /dev/null @@ -1,1745 +0,0 @@ -{ - "arch_flags": { - "sm_100a": [ - "-gencode=arch=compute_100a,code=sm_100a" - ], - "sm_103a": [ - "-gencode=arch=compute_103a,code=sm_103a" - ], - "sm_107a": [ - "-gencode=arch=compute_107a,code=sm_107a" - ] - }, - "common": { - "include_dirs": [ - "csrc" - ], - "link": { - "cudart": "shared", - "host_linker": "c++", - "tvm_ffi_symbols": "resolved at load; do not pass --no-undefined" - }, - "link_flags": [ - "-shared", - "-lcudart", - "-lcuda" - ], - "nvcc_flags": [ - "-std=c++17", - "-O3", - "-DNDEBUG", - "--compiler-options=-fPIC", - "--expt-relaxed-constexpr", - "-Xfatbin=-compress-all", - "--compress-mode=size" - ], - "nvcc_flags_if": [ - { - "cuda": ">=12.8", - "flags": [ - "-static-global-template-stub=false" - ] - } - ], - "requires": { - "cuda_toolkit": { - "min": "12.8" - }, - "tvm_ffi": { - "include_dirs": [ - "tvm_ffi.libinfo.find_include_path()", - "tvm_ffi.libinfo.find_dlpack_include_path()" - ], - "python": "apache-tvm-ffi>=0.1.11,<0.2" - } - } - }, - "generator": { - "cake_revision": "e312167e6b4f6d8b4193e218da74fa5b17d8ec14", - "cuda": "13.4.92", - "rendered_at": "2026-10-28T23:53:55Z" - }, - "libraries": [ - { - "arch": "sm_100a", - "closure_sha256": "8181c92a596365c2897a8c664aebe7303b014b1acf186d891a0afc0326306b4c", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_08880ca12e4064bc8cdb_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_08880ca12e4064bc8cdb_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu": "67284293eceb5b55b77677446c96788b62455b98219f02fbabcd1c9d131514a0", - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu": "4d0ee67d1f8825ed025a2fb8575ce8a9a433fd40a30761c59906070b316adc89" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu", - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "108533bd02e09412046532109569c4abcd83825b8207ca632012d3bec41a9cc0", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_08880ca12e4064bc8cdb_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_08880ca12e4064bc8cdb_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu": "67284293eceb5b55b77677446c96788b62455b98219f02fbabcd1c9d131514a0", - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu": "4d0ee67d1f8825ed025a2fb8575ce8a9a433fd40a30761c59906070b316adc89" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu", - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "2d3fdaf6846b5e341b87d13f46ac90754846d6b3d61643e20cd297cc3f74925e", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_08880ca12e4064bc8cdb_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_08880ca12e4064bc8cdb_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu": "67284293eceb5b55b77677446c96788b62455b98219f02fbabcd1c9d131514a0", - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu": "4d0ee67d1f8825ed025a2fb8575ce8a9a433fd40a30761c59906070b316adc89" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_kernel.cu", - "csrc/cake_causal_conv1d_train_08880ca12e4064bc8cdb_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "54f6decd120fad6e7d1b24e51de24ab3f098b7c8e9735fda58a9b4000a38c870", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_149ca6f53934ba630033_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_149ca6f53934ba630033_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu": "f29ca7671e13f70bdd14f60bcae481a2a464fa3501121ffb05c491e1ee24cc17", - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu": "cbbf522578e8b1beb38a3d2295d33e3496735955e528fd7b5057e3d8e76ace11" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu", - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "65ee6ba2b57ce40f1313981aa21a78dd4d47a8013bfbafcaace2e1f860b9ffe4", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_149ca6f53934ba630033_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_149ca6f53934ba630033_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu": "f29ca7671e13f70bdd14f60bcae481a2a464fa3501121ffb05c491e1ee24cc17", - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu": "cbbf522578e8b1beb38a3d2295d33e3496735955e528fd7b5057e3d8e76ace11" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_kernel.cu", - "csrc/cake_causal_conv1d_train_149ca6f53934ba630033_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "5058cdf3822987e7302d4b9a74683b549cb1c2c8261f477a23590c66571d7ac1", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_170d89481a616ae977b3_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_170d89481a616ae977b3_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu": "435d120901907f2fceab47cd0e337a76cb9d03d82f297bff3fcbb401a8b18d2c", - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu": "b8a2c62c900a2377fb783b6e406cc118981d53c26f2c06a835dd4feaed400a06" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu", - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "c84bb1c47efa01513e48055d6b0657c1f6a57e6dbe4d5bcfad8d86b4ef73e6be", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_170d89481a616ae977b3_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_170d89481a616ae977b3_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu": "435d120901907f2fceab47cd0e337a76cb9d03d82f297bff3fcbb401a8b18d2c", - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu": "b8a2c62c900a2377fb783b6e406cc118981d53c26f2c06a835dd4feaed400a06" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu", - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "ec7437f0ed53c98d1d4bb3c32c92b70b2045ce6a61d384cac126909cce5003df", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_170d89481a616ae977b3_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_170d89481a616ae977b3_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu": "435d120901907f2fceab47cd0e337a76cb9d03d82f297bff3fcbb401a8b18d2c", - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu": "b8a2c62c900a2377fb783b6e406cc118981d53c26f2c06a835dd4feaed400a06" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_kernel.cu", - "csrc/cake_causal_conv1d_train_170d89481a616ae977b3_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "60deeacc98b1199b7615dc8f7e30bedf13bf1b6cf014471751027b42b3e076df", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_binding.cu": "f65f1b41c883ad74cafa66682f999f8d71a8d36aa4abb9f3c17020ae9992c40c", - "csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_kernel.cu": "7ac796d3b4c83de20872985503b03806575b4078ecc1c753b0221120197d0ac1" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_kernel.cu", - "csrc/cake_causal_conv1d_train_176ebb3e14f7ad9c94dc_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "053e4624381ef6055fac3af9599e1aa87504607dcc4216d91c3ee348474e824b", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "1f4646c653522f1a20a294aa89e1fa1e7972874d0dc48704d5d18710d4dcfaf6", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "6f2cf0fec3e5bbc4af75d083182549c0aa94a348aca19a6d1cf2dfb94107a35d", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "6efc7a5782dc80c79739199191dfce03f91f679481d8908a31d7eb84442dc612", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_1c21c181af94e1635851_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_1c21c181af94e1635851_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu": "2aeebdb7c7a04264b3c8714a1a1f6545c404f6d054b876c32a2e0a3de168fc7e", - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu": "bef0112c63a819bb68e23549a0df9880deac5f5af29542b65178911422695163" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu", - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "7461573cbefd0c9e04cef7e6c57e21de2230bb15053ee547286f29f5e48bd9e8", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_1c21c181af94e1635851_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_1c21c181af94e1635851_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu": "2aeebdb7c7a04264b3c8714a1a1f6545c404f6d054b876c32a2e0a3de168fc7e", - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu": "bef0112c63a819bb68e23549a0df9880deac5f5af29542b65178911422695163" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu", - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "7b7cfbe41609073a7c8d77a65910e146166b4731ea63221635a714b8a1d4057a", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_1c21c181af94e1635851_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_1c21c181af94e1635851_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu": "2aeebdb7c7a04264b3c8714a1a1f6545c404f6d054b876c32a2e0a3de168fc7e", - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu": "bef0112c63a819bb68e23549a0df9880deac5f5af29542b65178911422695163" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_kernel.cu", - "csrc/cake_causal_conv1d_train_1c21c181af94e1635851_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "3e9ef841ae714dc92d207cad59edbba5d3b11cd90d5def9378388f185c204699", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_2675cc1cb4efc0937378_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_2675cc1cb4efc0937378_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu": "c9d0334998b390bf9cc161bfb241cbc3b01208576870491e43891440e2f16803", - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu": "308257ea1704331616d2b7de6b1c466d255e323ffc3ccee6daa1d6447e293fd2" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu", - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "814862315a63bc178076b1134f31926eaf04db274145cb214a040dc6e6275393", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_2675cc1cb4efc0937378_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_2675cc1cb4efc0937378_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu": "c9d0334998b390bf9cc161bfb241cbc3b01208576870491e43891440e2f16803", - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu": "308257ea1704331616d2b7de6b1c466d255e323ffc3ccee6daa1d6447e293fd2" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu", - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "b35535a1eeb2e8cb7cb30c849171b31697ff1c9353733e5a26f10bf897b38fb3", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_2675cc1cb4efc0937378_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_2675cc1cb4efc0937378_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu": "c9d0334998b390bf9cc161bfb241cbc3b01208576870491e43891440e2f16803", - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu": "308257ea1704331616d2b7de6b1c466d255e323ffc3ccee6daa1d6447e293fd2" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_kernel.cu", - "csrc/cake_causal_conv1d_train_2675cc1cb4efc0937378_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "a25a6da9bd422604e197eafea9efcd916d0c559220f1907afb80baca7fa5f014", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_2d91e5f926238453c78c_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_2d91e5f926238453c78c_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu": "f80a80924651042130b06ff2486ceb5ef11a61d47a729d82fde44703d84eda6b", - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu": "718d5b6e8f2805029dc3e3fe43ecc17b1f345b0f35a32f2488176da834dcaad1" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu", - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "f463663ff7ad96564082ce750c1957165b6183efba5c3b13abf9382a0f5f82f0", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_2d91e5f926238453c78c_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_2d91e5f926238453c78c_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu": "f80a80924651042130b06ff2486ceb5ef11a61d47a729d82fde44703d84eda6b", - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu": "718d5b6e8f2805029dc3e3fe43ecc17b1f345b0f35a32f2488176da834dcaad1" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_kernel.cu", - "csrc/cake_causal_conv1d_train_2d91e5f926238453c78c_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "f99ed2feffd16ca4666272100c154799f98e582c0cdbc3b9c7293d4ec1351b37", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_37e428406a0cc4a8ca1b_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu": "1a45290d23054318c081c5b5e1e53cc79f669aca168235b119bcf2642f91aab5", - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu": "0307d4d3504f98a4b5c419b19d2ce0b4df165fa140dc396a6bce8ae95bb661d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu", - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "47ce5a06f2d73e06c01665db468a6931ce01f05fde800a9a7061892bb6b5a8b5", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_37e428406a0cc4a8ca1b_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu": "1a45290d23054318c081c5b5e1e53cc79f669aca168235b119bcf2642f91aab5", - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu": "0307d4d3504f98a4b5c419b19d2ce0b4df165fa140dc396a6bce8ae95bb661d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu", - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "eb419544183707e40b5852a8c1374c3ce64f962f1d3b62b38ecd963866a21d42", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_37e428406a0cc4a8ca1b_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu": "1a45290d23054318c081c5b5e1e53cc79f669aca168235b119bcf2642f91aab5", - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu": "0307d4d3504f98a4b5c419b19d2ce0b4df165fa140dc396a6bce8ae95bb661d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_kernel.cu", - "csrc/cake_causal_conv1d_train_37e428406a0cc4a8ca1b_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "49de5e7d081380a138c6ff8c82da33424212842496742509dc969fa43e0880f5", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu": "4cc9c5164d4c13b39f1087e51eb9d3a6867126bdf57ea67e35375a5728cf6488", - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu": "c5d3594389858ec2b556412aa03f3829f863f612a0804c8caa4dbc40730f3279" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu", - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "aa75a5bfc53fea38f2e73197ac8543858fd51e32770d32cf94b4cebf0be433a2", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu": "4cc9c5164d4c13b39f1087e51eb9d3a6867126bdf57ea67e35375a5728cf6488", - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu": "c5d3594389858ec2b556412aa03f3829f863f612a0804c8caa4dbc40730f3279" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu", - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "baf8c23e20017e9e145d6c6069f9ae841c4980850b10b45781e305af2cd7de64", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu": "4cc9c5164d4c13b39f1087e51eb9d3a6867126bdf57ea67e35375a5728cf6488", - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu": "c5d3594389858ec2b556412aa03f3829f863f612a0804c8caa4dbc40730f3279" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_kernel.cu", - "csrc/cake_causal_conv1d_train_4d291f4b5c2cce6ef1ea_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "5d3fd779c1d689a9f53d8a1ba55f31df92460c55424a7cd9db8eb85b3d36c5d0", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_517710d1f0988cf570a9_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_517710d1f0988cf570a9_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu": "bf6c46ebbe72ac0ede2d98fea21e7e73b329754e9be25c27ca76ff5583323472", - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu": "9fa84c4aa29dae3aa755cf1596d27a6694d846f9c0301833222c47707d2f14d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu", - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "52494b7ff96f30cff8671798d7773db2ac8b16836026f927b2890d11925d5295", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_517710d1f0988cf570a9_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_517710d1f0988cf570a9_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu": "bf6c46ebbe72ac0ede2d98fea21e7e73b329754e9be25c27ca76ff5583323472", - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu": "9fa84c4aa29dae3aa755cf1596d27a6694d846f9c0301833222c47707d2f14d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu", - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "49f681e78af3151e25759735de2b33752c59cf58e3ec4c04b0d1b62d60a9d825", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_517710d1f0988cf570a9_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_517710d1f0988cf570a9_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu": "bf6c46ebbe72ac0ede2d98fea21e7e73b329754e9be25c27ca76ff5583323472", - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu": "9fa84c4aa29dae3aa755cf1596d27a6694d846f9c0301833222c47707d2f14d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_kernel.cu", - "csrc/cake_causal_conv1d_train_517710d1f0988cf570a9_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "c187d4e484108e3451d5997c74881e67c0ddf42bed070cc466ad971ebdf4111c", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_5288d132a5cc927ae729_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_5288d132a5cc927ae729_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu": "e9d1f51f3fa33ef96560a5590a4a38f6e0ef1a479cb57c935b2b53ce3853e62e", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu": "c06d37a5fa4667d6e40d817114f5796fce09db3046085667b62e55247f8923d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "2b0e305e5e88d3fc64d508ccbb96ce3d4a742a4869a68f57efa6b09acdd4e548", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_5288d132a5cc927ae729_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_5288d132a5cc927ae729_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu": "e9d1f51f3fa33ef96560a5590a4a38f6e0ef1a479cb57c935b2b53ce3853e62e", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu": "c06d37a5fa4667d6e40d817114f5796fce09db3046085667b62e55247f8923d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "f0427a3c00fbfc0edb6650a4a7fa3b2924b64b4a0889987e39cdec0cf454c795", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "2844a4a678354529feae15c785c62c936f7cf69ccbaf0e96b1df961523792782", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "ae72b27ad4f9ebb0bc37e0ee5d8c54b10563d287927113bbad65c7f7f1978ef2", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "1d8db0e374474def19a949290afc97ed16901601248972dfaf1d59b7b61d17e3", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu": "c1332ab0469a57049c78246a1beef72ea071926cdb9d43edcd43872c88299c04", - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu": "bbf0d05a8c9756d50f5b6776c375f5844057d5c39703835bddac5ebe09cc51b0" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu", - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "678b6680e1b2e2a9abee3effdcc465507a507d8f1f6a8e935c057ef980c47c3b", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "0cdc90f376954df81b7f340f2e799721363be99cabfec85887b75d1b32342fef", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "6c44bdb9195fa1cddd588a25915f5229008f90044a4288521471c93fb1dd2ae3", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "9e38e97cdb075fd063f2931a6966049b4529be94037bf5ebe120fdda8063e5a9", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_843c010db78c79107fd3_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_843c010db78c79107fd3_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_843c010db78c79107fd3_binding.cu": "e5fdfa7df6c4e7e7961d05a90985292010f34a1aaa03df36d11aa91dbf838cd4", - "csrc/cake_causal_conv1d_train_843c010db78c79107fd3_kernel.cu": "6261351de0aa7bd088a3e89ad51c129e4de5b184f84368e5a6921c522ab3ee47" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_843c010db78c79107fd3_kernel.cu", - "csrc/cake_causal_conv1d_train_843c010db78c79107fd3_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "3ff781b769466a09f8814a2ac563506d70305ccc0bccb79066f05087d79edd10", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_8665d0756b8240ecb4d0_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_8665d0756b8240ecb4d0_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_binding.cu": "96f38e3f0725cd5a927ae69c89e7295527c8b5e6ee0506213ec6ea2745768b21", - "csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_kernel.cu": "572e7a38873d13d00569a1ca2848fabe6c42ad51e1d39b0af8a5757dc4c17d6f" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_kernel.cu", - "csrc/cake_causal_conv1d_train_8665d0756b8240ecb4d0_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "e2850030a9d1dc35bf97f2969827dceeb240eedbd93d08872979b6fa3e63a353", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu": "d834bd5676f5dc1736e57fa6c6c8b81615bee8358e2af4e3db36c66ff452447f", - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu": "c884bc1733cba848127e880739b961a0d67e151455741b4c33b6ddb3d15af4f9" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu", - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "85800e792fd9cc59e1149e3c8de0f7f2b9bf12089d3644acdfbecd0e6d4e96cb", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu": "d834bd5676f5dc1736e57fa6c6c8b81615bee8358e2af4e3db36c66ff452447f", - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu": "c884bc1733cba848127e880739b961a0d67e151455741b4c33b6ddb3d15af4f9" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu", - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "102187354f9c906ed07363ee740318276aaba57bea476fe14aea7c3ab0b79aee", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu": "d834bd5676f5dc1736e57fa6c6c8b81615bee8358e2af4e3db36c66ff452447f", - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu": "c884bc1733cba848127e880739b961a0d67e151455741b4c33b6ddb3d15af4f9" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_kernel.cu", - "csrc/cake_causal_conv1d_train_86b5ecfbd90aca4b52e5_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "508bddd849e34783a344eebc78785e2cc3702a06dd0f9ffeff31d727d054adeb", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_8b9b8db0833fd64a578f_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_8b9b8db0833fd64a578f_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_binding.cu": "d870571d36def0243936e30b1f7e7d4597fa436f5ee8b54fc4ea10e0f8082ce1", - "csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_kernel.cu": "2191a6094149ac627da55bf4801bbf718a9aa2d29d78907eb6248f99e971cbf6" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_kernel.cu", - "csrc/cake_causal_conv1d_train_8b9b8db0833fd64a578f_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "0a8843c95b0955863752bf9e93863cf52d78ffb89a27775f44268949754fea1b", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_9a07bcaa0223632640ee_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9a07bcaa0223632640ee_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_binding.cu": "a4edb9897649bbb8d3ed21a4e268d01038a796e2bf182458268c8032053cb06b", - "csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_kernel.cu": "0a70cc039335820214213a99a68ae7df476f4c78eb5dc9e373b267e5e9c9519d" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_kernel.cu", - "csrc/cake_causal_conv1d_train_9a07bcaa0223632640ee_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "2445464fe4821b88950b70f73796dc2e51d02de4bf7584fb5bfbd5cf9a0d6225", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_9bfa65707a49df6a48ce_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9bfa65707a49df6a48ce_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu": "07a044f779dce018c6d0a17de64f7929730680d3fac58aff0745de049210e8ab", - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu": "475b6d8e558899b74fd0ce6773e222026305c8b09da196326c8b11930a5bc94a" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu", - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "219c0b8c819d5c0cedddc75bd3ae3384d2bf382e7bbe2d8b89c74303acb87f61", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_9bfa65707a49df6a48ce_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9bfa65707a49df6a48ce_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu": "07a044f779dce018c6d0a17de64f7929730680d3fac58aff0745de049210e8ab", - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu": "475b6d8e558899b74fd0ce6773e222026305c8b09da196326c8b11930a5bc94a" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_kernel.cu", - "csrc/cake_causal_conv1d_train_9bfa65707a49df6a48ce_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "a75ce44514ab91c1325a1f65d9e25f2e28302793b1b386aadf749127107620dc", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_9c1e7ee9f37e3102660e_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu": "16022ddfe0a39a5cee234327aa02560846527cdae6470da1c4f3925f7a4d6c6a", - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu": "6dd6ca72cc297264918ebcded7b4da238ad50da2bd2220a373c4cd319de6fc2e" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu", - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "d0e0af6b5cbeff21a16e04743997d8618d09040c146f3e4f647f6953907b1704", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_9c1e7ee9f37e3102660e_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu": "16022ddfe0a39a5cee234327aa02560846527cdae6470da1c4f3925f7a4d6c6a", - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu": "6dd6ca72cc297264918ebcded7b4da238ad50da2bd2220a373c4cd319de6fc2e" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu", - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "38365bfcb2ca021590048dcd0223db2307ad4ba4954cb8a0b2bf888b026993c0", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_9c1e7ee9f37e3102660e_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu": "16022ddfe0a39a5cee234327aa02560846527cdae6470da1c4f3925f7a4d6c6a", - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu": "6dd6ca72cc297264918ebcded7b4da238ad50da2bd2220a373c4cd319de6fc2e" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_kernel.cu", - "csrc/cake_causal_conv1d_train_9c1e7ee9f37e3102660e_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "547e8df2dc1ad4eec5d05b3789e0cdddd576ec7ab905fe4018b115d76cda75a8", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu": "5dda0dfaeaee03e090de91649f3a82f1745447518da0a1847cbbccbd12447d1d", - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu": "40715f1ab1cd7a19b0594836aaa3145995c6a73fcf88ad86207e328a3acf6201" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu", - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "73230c64792fd3feab479a477b8fb536d979551e083b5a2451285e0b1fd7a0bc", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu": "5dda0dfaeaee03e090de91649f3a82f1745447518da0a1847cbbccbd12447d1d", - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu": "40715f1ab1cd7a19b0594836aaa3145995c6a73fcf88ad86207e328a3acf6201" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_kernel.cu", - "csrc/cake_causal_conv1d_train_9c8310a1d3fa9b8ccffa_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "c429d92d958067d22070285e0bb04e26729ec066dd5393aea19600658fac4fb5", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_a681165b3e81204c73ff_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_a681165b3e81204c73ff_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu": "dcc25fc7dc7977412aebc9eceeb05791ac62c09f2f9aaf91bbb826a52e04d129", - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu": "08b2bf8d332c3627108f3e23fc884f25b7c62a60a87ea769135aae58af4baa17" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu", - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "132cf41ddac61304b98d4297810189a1ea4ea5da2e2fbf8c37cd3a7d575ddaaf", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_a681165b3e81204c73ff_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_a681165b3e81204c73ff_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu": "dcc25fc7dc7977412aebc9eceeb05791ac62c09f2f9aaf91bbb826a52e04d129", - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu": "08b2bf8d332c3627108f3e23fc884f25b7c62a60a87ea769135aae58af4baa17" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu", - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "bdd63be1ae5d8ebaee46935c7b136a7746f64d9d4c90a5ca0ed38d9cfaa66d54", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_a681165b3e81204c73ff_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_a681165b3e81204c73ff_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu": "dcc25fc7dc7977412aebc9eceeb05791ac62c09f2f9aaf91bbb826a52e04d129", - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu": "08b2bf8d332c3627108f3e23fc884f25b7c62a60a87ea769135aae58af4baa17" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_kernel.cu", - "csrc/cake_causal_conv1d_train_a681165b3e81204c73ff_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "54d39f1ad2e921cb232dbceab99d6493f0e93f7c264b1172050d63ac62323eaa", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_aeff6106e2822f313a0c_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_aeff6106e2822f313a0c_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_binding.cu": "bc2e652ba15bcca5ffd062d3c1d07c41bc99f9a554b7de2ebd5b42d8f6bcd1d3", - "csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_kernel.cu": "933fe17525b8b65b233d536a44c7c7920dfa59ed1b3c86ebfbdb14a179787f91" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_kernel.cu", - "csrc/cake_causal_conv1d_train_aeff6106e2822f313a0c_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "add12ff82ed9b399181f7f0e539a8df8ba5008549c686cba2ba36893d822e97f", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_binding.cu": "caa435bb8ad6d24ede06affdce2860b40ed4464eff3af45301dd65eb87f5cc38", - "csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_kernel.cu": "c0096a1402f2846c012ccd5e712bd2cc00845937123cdf207d46d882c0190365" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_kernel.cu", - "csrc/cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "024bd8c131848f484e4d460b049fef85b152cef80c68bad595879c1db2a2e593", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_c8027a64ba3cc38333bf_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_c8027a64ba3cc38333bf_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu": "a7e841896f193a6f800ecb2bf966a7b02d6aff36ee92715f506ffdfc4b8d6129", - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu": "2b545605102d0e80cd1460a25163ee0897f2794410dfced4b97079c7a15d0d1b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu", - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "9c546c26fef41c9257685a1544c3baa807580af64e348edd1ab2072b1972d287", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_c8027a64ba3cc38333bf_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_c8027a64ba3cc38333bf_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu": "a7e841896f193a6f800ecb2bf966a7b02d6aff36ee92715f506ffdfc4b8d6129", - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu": "2b545605102d0e80cd1460a25163ee0897f2794410dfced4b97079c7a15d0d1b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_kernel.cu", - "csrc/cake_causal_conv1d_train_c8027a64ba3cc38333bf_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "2b5e5a9be043f2312bae56192262cc7fbd1b65bbc2393deedf364ac60239c413", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_cc7a117aee9c7ae829c4_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_binding.cu": "bf01229de59dadd4c312f41881ba6d6daa174cb04ac7d80efdd48144a7204063", - "csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_kernel.cu": "50973295bd5a4b690a4b8543b426efa244ba851f4de9eab5871434e8843799d2" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_kernel.cu", - "csrc/cake_causal_conv1d_train_cc7a117aee9c7ae829c4_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "8966cdd034af1149ac7f77918ead7979562c686bcbb427dd61a888fa0a7a76a8", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_ce49146b9fef24adb47e_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_ce49146b9fef24adb47e_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu": "1f62015fd9bdbe4239f818d41d7d63f817433657d1e6d608d537c0490f7468c1", - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu": "b6161558774fe9e64319ce9ef5e8340018eea3f9be40084e40338f2d38017043" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu", - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "c3e23d9f57cf0a56e415fdd2d41ca78663f398c3a0b854b60a084ce63c3d8f61", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_ce49146b9fef24adb47e_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_ce49146b9fef24adb47e_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu": "1f62015fd9bdbe4239f818d41d7d63f817433657d1e6d608d537c0490f7468c1", - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu": "b6161558774fe9e64319ce9ef5e8340018eea3f9be40084e40338f2d38017043" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu", - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "529ccdf7ed1d36b0f70499608251d6d45c7214490f97e7ac81811ae0e7b07c0c", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_ce49146b9fef24adb47e_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_ce49146b9fef24adb47e_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu": "1f62015fd9bdbe4239f818d41d7d63f817433657d1e6d608d537c0490f7468c1", - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu": "b6161558774fe9e64319ce9ef5e8340018eea3f9be40084e40338f2d38017043" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_kernel.cu", - "csrc/cake_causal_conv1d_train_ce49146b9fef24adb47e_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "78074c7e46d23e79de2f1b20e433138901de514ab1dbd87b15ef2c0055ffd10d", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu": "693298c9ac202cda916fbab120b60f8072641306fa7371e70a87c5dc66518136", - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu": "5017c08ee8b031ef93b6812cf9e3fd531409fab6d038f50b472c30c04f6ed399" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu", - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "34d1876115d48309962be09f4255493b6cd8be5bb963255e9e5235666c9d2f16", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu": "693298c9ac202cda916fbab120b60f8072641306fa7371e70a87c5dc66518136", - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu": "5017c08ee8b031ef93b6812cf9e3fd531409fab6d038f50b472c30c04f6ed399" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_kernel.cu", - "csrc/cake_causal_conv1d_train_d46036aa2bc5f90bb0f6_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "b55011f9e8aa50a7accdd0ac22027afddb75b59abe5b599f277475274f9a6a9f", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_d829c95e1d610bc14b23_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_d829c95e1d610bc14b23_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_binding.cu": "649f613d7d60edee643447d1b1f58908d223d6f401becbd50b7bbf61970595b2", - "csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_kernel.cu": "d24b2209852b8b77f0fd17955900bfea2af252652eb859aabb819f768a7a49e6" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_kernel.cu", - "csrc/cake_causal_conv1d_train_d829c95e1d610bc14b23_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "4b04122f4e0d4a96498a962dfb1d08b27808f17601579132c324857e743ab9c7", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_ea8f91038a9dea452ff2_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_ea8f91038a9dea452ff2_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu": "24819a226390735c7572d8117c7de4a15df61b7018504fa0fb2d27ec9cac7b3c", - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu": "a716f616ddafbfffb9444d5c73df2d1fcdc35ece82a5df4fed53aabaf460a5e9" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu", - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "fd5c15993e118e9314f949e3f68dd2df65fb0cec748e50f5d8001aeeb80e2769", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_ea8f91038a9dea452ff2_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_ea8f91038a9dea452ff2_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu": "24819a226390735c7572d8117c7de4a15df61b7018504fa0fb2d27ec9cac7b3c", - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu": "a716f616ddafbfffb9444d5c73df2d1fcdc35ece82a5df4fed53aabaf460a5e9" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu", - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "ee62f17f672e4376bf9b6b60c909965d98b4c241617ddc4fcf6ed0287e9350de", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_ea8f91038a9dea452ff2_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_ea8f91038a9dea452ff2_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu": "24819a226390735c7572d8117c7de4a15df61b7018504fa0fb2d27ec9cac7b3c", - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu": "a716f616ddafbfffb9444d5c73df2d1fcdc35ece82a5df4fed53aabaf460a5e9" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_kernel.cu", - "csrc/cake_causal_conv1d_train_ea8f91038a9dea452ff2_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "2d2eebb1150aad41863783f5f6a1e17290d05d6b2a98fa40d0f5f64d50a3a099", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_f1545adfd2bb28044419_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_f1545adfd2bb28044419_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_binding.cu": "aaadd4e9534872f4aac9ca4c09c9371c10ae961e878675fbf7b97898cd5a85a4", - "csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_kernel.cu": "1bb2163d414690b69c7228326a9e669f6ccb15ca75c303a660ec2234da9a406d" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_kernel.cu", - "csrc/cake_causal_conv1d_train_f1545adfd2bb28044419_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "a39a126fba96dfa257cf39e76042d0d6e31e1e97def40aae3dcbbf625fc740c5", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_f5497330bfd286211643_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_f5497330bfd286211643_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu": "d418cab7219dad4fa830268414ccef295430adc465bc6222f953dc0d62fb1cd8", - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu": "3dc9bd451ab2f7cb6fdf18cb6689baffd41a05be03cc6c21bd91609ea36ae567" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu", - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "601cfe47c9d2873220961be127f9c85f2cacb76725b76879722de47de81011e9", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_f5497330bfd286211643_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_f5497330bfd286211643_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu": "d418cab7219dad4fa830268414ccef295430adc465bc6222f953dc0d62fb1cd8", - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu": "3dc9bd451ab2f7cb6fdf18cb6689baffd41a05be03cc6c21bd91609ea36ae567" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu", - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "faa149f2ad044411e8b43c5abc8bb20f3f2a68f13163a014f398e3b31ed44c09", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_f5497330bfd286211643_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_f5497330bfd286211643_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu": "d418cab7219dad4fa830268414ccef295430adc465bc6222f953dc0d62fb1cd8", - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu": "3dc9bd451ab2f7cb6fdf18cb6689baffd41a05be03cc6c21bd91609ea36ae567" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_kernel.cu", - "csrc/cake_causal_conv1d_train_f5497330bfd286211643_binding.cu" - ] - } - ], - "package": "flashinfer.cake_causal_conv1d_train_backend", - "schema": "cake-build/1" -} From 46793b409281297b694e5b09ee686755a8a47931 Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 04:39:47 -0700 Subject: [PATCH 02/10] refactor(causal_conv1d): det names for the single-rank training entry points The packed width-4 causal convolution + SiLU training module is now flashinfer.cake_causal_conv1d_det_train, and its backend package is flashinfer.cake_causal_conv1d_det_train_backend. The single-rank entry points are cake_causal_conv1d_det, cake_causal_conv1d_det_train_{forward,backward}, cake_causal_conv1d_det_train_{forward,backward}_workspace[_bytes], is_cake_causal_conv1d_det_train_supported and CakeCausalConv1dDetFunction. The facade, the backend package and the flashinfer top level also bind the previous names to the same objects. These names are not in __all__. The generated sources, build.json and the two registries move without change. The tests, the benchmark, the API docs, the package data, the build manifest check and the pre-commit exclusion use the new paths. Co-Authored-By: Claude --- .pre-commit-config.yaml | 2 +- ... => bench_cake_causal_conv1d_det_train.py} | 34 +-- benchmarks/bench_cake_gdn_det_train_kcp.py | 8 +- benchmarks/bench_cake_kda_train_kcp.py | 8 +- docs/api/mamba.rst | 18 +- flashinfer/__init__.py | 37 ++- ...ain.py => cake_causal_conv1d_det_train.py} | 115 ++++--- .../__init__.py | 91 +++--- .../kcp.py | 2 +- .../experimental/cake_kda_train/README.md | 4 +- pyproject.toml | 2 +- scripts/check_cake_build_manifests.py | 4 +- ...y => test_cake_causal_conv1d_det_train.py} | 282 +++++++++--------- ... test_cake_causal_conv1d_det_train_api.py} | 87 +++--- tests/test_helpers/cake_package.py | 4 +- 15 files changed, 384 insertions(+), 314 deletions(-) rename benchmarks/{bench_cake_causal_conv1d_train.py => bench_cake_causal_conv1d_det_train.py} (95%) rename flashinfer/{cake_causal_conv1d_train.py => cake_causal_conv1d_det_train.py} (82%) rename tests/norm/{test_cake_causal_conv1d_train.py => test_cake_causal_conv1d_det_train.py} (92%) rename tests/norm/{test_cake_causal_conv1d_train_api.py => test_cake_causal_conv1d_det_train_api.py} (57%) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 896f4021839..9eeb849d7ba 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ files: ^(?!(?:flashinfer/moe_ep/kernel_src/blackwell_bf16_rank_major/src/|csrc/c # cake_build.py and build.json next to them stay checked. # The Qwen 3.5 gated attention block's _cudnn_frost/ tree is cuDNN Frontend source vendored byte-faithfully # (VENDOR_MANIFEST.json digests the files as written); keep its bytes. -exclude: ^(?:csrc/kda/ptx/|flashinfer/msa_ops/cute_dsl/sparse_decode_nvfp4_sm100\.py|csrc/(?:cake_trtllm_mla_blackwell/generated/|cake_dsv4/|cake_sampling/generated/|cake_minimax_h3_mxfp8_pre_attention/|cake_minimax_h3_nvfp4_pre_attention/|cake_minimax_h3_qkv_quantize_pack/|kda/flashkda_generated_.*|blackwell_msa/|concat_mla/|cake_all_gather_matmul/|cake_moe_finalize_allreduce_fusion/|cake_fp4_allreduce/.*_kernel\.cu|cake_nvfp4_svdquant_gemm/|cake_selective_state_update/(?:cuda|host)/|cake_mamba_ssd_combined/generated/|cake_trtllm_moe_allreduce_union/|cake_gemm_allreduce/|cake_fused_norm_combine/|cake_msa_icp_indexer/|fused_moe/warp_decode/generated/|kda/cake_flashkda_blackwell_evolution_.*\.cu)|flashinfer/(?:cake_rmsnorm_det_train_backend/csrc/|cake_causal_conv1d_train_backend/csrc/|cake_sage_block_sparse_attention_backend/csrc/|cake_ulysses_backend/csrc/|cake_fused_qk_rope_append_backend/csrc/|cake_fused_qk_rope_fp8_append_backend/csrc/|cake_mhc_det_train_backend/csrc/|experimental/nvfp4_sparse_mla_decode/csrc/(?:cake_nvfp4_sparse_mla_decode/|cake_ffi_checks\.h)|experimental/(?:cake_mok_bf16|cake_mxfp8_megamoe_ep16|cake_moe_grouped_det_gemm|sm110_gqa_decode|nvfp4_attention|nvfp4_mla_decode|balanced_gqa_decode|minimax_h3_varlen_attention|kimi_k3_fused_router|msa_nvfp4_decode|cake_lm_head_loss|cake_dsa_train|cake_kda_train|cake_dsa_indexer|dense_projection_det_gemm|cake_stepfun_moe|deepgemm_fp8_gemm|deepgemm_batched_gemm)/csrc/|moe_ep/kernel_src/(?:(?:sm100/(?:cutedsl_megamoe|next_cutedsl_megamoe)|sm107/next_cutedsl_megamoe|sm90/pull_style_cutedsl_megakernel|sm120/(?:swapab|split)_cutedsl_megakernel)/src/|sm90/cake_bf16_megamoe/src/cake_sm90_bf16_megamoe_|sm120/cake_mxfp4_megamoe/src/cake_sm120_megamoe_(?:kernel.*\.cuh|m(?:128|64)_(?:no)?copier\.cu|geometry\.json)))|csrc/generated/dcp_alltoall/|flashinfer/experimental/qwen_3_5_block/_cudnn_frost/) +exclude: ^(?:csrc/kda/ptx/|flashinfer/msa_ops/cute_dsl/sparse_decode_nvfp4_sm100\.py|csrc/(?:cake_trtllm_mla_blackwell/generated/|cake_dsv4/|cake_sampling/generated/|cake_minimax_h3_mxfp8_pre_attention/|cake_minimax_h3_nvfp4_pre_attention/|cake_minimax_h3_qkv_quantize_pack/|kda/flashkda_generated_.*|blackwell_msa/|concat_mla/|cake_all_gather_matmul/|cake_moe_finalize_allreduce_fusion/|cake_fp4_allreduce/.*_kernel\.cu|cake_nvfp4_svdquant_gemm/|cake_selective_state_update/(?:cuda|host)/|cake_mamba_ssd_combined/generated/|cake_trtllm_moe_allreduce_union/|cake_gemm_allreduce/|cake_fused_norm_combine/|cake_msa_icp_indexer/|fused_moe/warp_decode/generated/|kda/cake_flashkda_blackwell_evolution_.*\.cu)|flashinfer/(?:cake_rmsnorm_det_train_backend/csrc/|cake_causal_conv1d_det_train_backend/csrc/|cake_sage_block_sparse_attention_backend/csrc/|cake_ulysses_backend/csrc/|cake_fused_qk_rope_append_backend/csrc/|cake_fused_qk_rope_fp8_append_backend/csrc/|cake_mhc_det_train_backend/csrc/|experimental/nvfp4_sparse_mla_decode/csrc/(?:cake_nvfp4_sparse_mla_decode/|cake_ffi_checks\.h)|experimental/(?:cake_mok_bf16|cake_mxfp8_megamoe_ep16|cake_moe_grouped_det_gemm|sm110_gqa_decode|nvfp4_attention|nvfp4_mla_decode|balanced_gqa_decode|minimax_h3_varlen_attention|kimi_k3_fused_router|msa_nvfp4_decode|cake_lm_head_loss|cake_dsa_train|cake_kda_train|cake_dsa_indexer|dense_projection_det_gemm|cake_stepfun_moe|deepgemm_fp8_gemm|deepgemm_batched_gemm)/csrc/|moe_ep/kernel_src/(?:(?:sm100/(?:cutedsl_megamoe|next_cutedsl_megamoe)|sm107/next_cutedsl_megamoe|sm90/pull_style_cutedsl_megakernel|sm120/(?:swapab|split)_cutedsl_megakernel)/src/|sm90/cake_bf16_megamoe/src/cake_sm90_bf16_megamoe_|sm120/cake_mxfp4_megamoe/src/cake_sm120_megamoe_(?:kernel.*\.cuh|m(?:128|64)_(?:no)?copier\.cu|geometry\.json)))|csrc/generated/dcp_alltoall/|flashinfer/experimental/qwen_3_5_block/_cudnn_frost/) repos: # Standard hooks diff --git a/benchmarks/bench_cake_causal_conv1d_train.py b/benchmarks/bench_cake_causal_conv1d_det_train.py similarity index 95% rename from benchmarks/bench_cake_causal_conv1d_train.py rename to benchmarks/bench_cake_causal_conv1d_det_train.py index 3822cada399..6f5456df730 100644 --- a/benchmarks/bench_cake_causal_conv1d_train.py +++ b/benchmarks/bench_cake_causal_conv1d_det_train.py @@ -53,10 +53,10 @@ Example:: - python benchmarks/bench_cake_causal_conv1d_train.py - python benchmarks/bench_cake_causal_conv1d_train.py --channels 512 --tokens 250340 --json out.json - python benchmarks/bench_cake_causal_conv1d_train.py --weight-dtype bfloat16 --bias bfloat16 - python benchmarks/bench_cake_causal_conv1d_train.py --silu-grad-preactivation fp32 --channels 512 1280 + python benchmarks/bench_cake_causal_conv1d_det_train.py + python benchmarks/bench_cake_causal_conv1d_det_train.py --channels 512 --tokens 250340 --json out.json + python benchmarks/bench_cake_causal_conv1d_det_train.py --weight-dtype bfloat16 --bias bfloat16 + python benchmarks/bench_cake_causal_conv1d_det_train.py --silu-grad-preactivation fp32 --channels 512 1280 """ from __future__ import annotations @@ -69,14 +69,14 @@ import torch -from flashinfer.cake_causal_conv1d_train import ( - cake_causal_conv1d_train_backward, - cake_causal_conv1d_train_backward_workspace, - cake_causal_conv1d_train_forward, - cake_causal_conv1d_train_forward_workspace, - is_cake_causal_conv1d_train_supported, +from flashinfer.cake_causal_conv1d_det_train import ( + cake_causal_conv1d_det_train_backward, + cake_causal_conv1d_det_train_backward_workspace, + cake_causal_conv1d_det_train_forward, + cake_causal_conv1d_det_train_forward_workspace, + is_cake_causal_conv1d_det_train_supported, ) -from flashinfer.cake_causal_conv1d_train_backend import cake_jit as loader +from flashinfer.cake_causal_conv1d_det_train_backend import cake_jit as loader from flashinfer.testing import bench_gpu_time WIDTH = 4 @@ -282,21 +282,21 @@ def make(self, x, w, b, cu, mode: Mode): db = ( None if b is None else torch.empty(channels, dtype=b.dtype, device=x.device) ) - workspace = cake_causal_conv1d_train_backward_workspace( + workspace = cake_causal_conv1d_det_train_backward_workspace( tokens, channels, x.device ) - forward_workspace = cake_causal_conv1d_train_forward_workspace( + forward_workspace = cake_causal_conv1d_det_train_forward_workspace( tokens, channels, x.device ) def fwd(): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, bias=b, out=y, workspace=forward_workspace ) return y def bwd(dy): - return cake_causal_conv1d_train_backward( + return cake_causal_conv1d_det_train_backward( x, w, cu, @@ -560,9 +560,9 @@ def main(argv: Optional[list[str]] = None) -> int: ) device = torch.device("cuda", torch.cuda.current_device()) - if not is_cake_causal_conv1d_train_supported(device): + if not is_cake_causal_conv1d_det_train_supported(device): raise SystemExit( - "cake_causal_conv1d_train has no exported route on this device" + "cake_causal_conv1d_det_train has no exported route on this device" ) arch = loader.arch_for_capability(torch.cuda.get_device_capability(device)) route = mode.backward_route() diff --git a/benchmarks/bench_cake_gdn_det_train_kcp.py b/benchmarks/bench_cake_gdn_det_train_kcp.py index 2795b6b072c..bfa45334345 100644 --- a/benchmarks/bench_cake_gdn_det_train_kcp.py +++ b/benchmarks/bench_cake_gdn_det_train_kcp.py @@ -16,7 +16,7 @@ Benchmark of the context-parallel (KCP) Cake packed GDN training step: one process per rank (``torchrun --nproc_per_node N``), every rank timing the module boundary of its fragments -- the KCP causal convolution -(``flashinfer.cake_causal_conv1d_train.cake_causal_conv1d_kcp``, 10,240 +(``flashinfer.cake_causal_conv1d_det_train.cake_causal_conv1d_kcp``, 10,240 channels) followed by the KCP GDN step (``flashinfer.cake_gdn_det_train_kcp.chunk_gdn_det_kcp``) -- with CUDA events, the slowest rank's time counting for the iteration. @@ -75,8 +75,8 @@ sys.path.insert(0, str(Path(__file__).resolve().parents[1])) -from flashinfer.cake_causal_conv1d_train import ( # noqa: E402 - cake_causal_conv1d, +from flashinfer.cake_causal_conv1d_det_train import ( # noqa: E402 + cake_causal_conv1d_det, cake_causal_conv1d_kcp, ) from flashinfer.cake_gdn_det_train_kcp import ( # noqa: E402 @@ -267,7 +267,7 @@ def _local_arm(problem: dict[str, Any], boundary: str) -> Callable[[], None] | N cu = local["cu_seqlens"] def forward(q, k, v, g, beta, x, w): - y = cake_causal_conv1d(x, w, cu) + y = cake_causal_conv1d_det(x, w, cu) out = chunk_gdn(q, k, v, g, beta, cu) return y, out diff --git a/benchmarks/bench_cake_kda_train_kcp.py b/benchmarks/bench_cake_kda_train_kcp.py index 937c4268cdb..863ddc8cb56 100644 --- a/benchmarks/bench_cake_kda_train_kcp.py +++ b/benchmarks/bench_cake_kda_train_kcp.py @@ -16,7 +16,7 @@ Benchmark of the context-parallel (KCP) Cake packed KDA training step: one process per rank (``torchrun --nproc_per_node N``), every rank timing the module boundary of its fragments -- the KCP causal convolution -(``flashinfer.cake_causal_conv1d_train.cake_causal_conv1d_kcp``) followed by +(``flashinfer.cake_causal_conv1d_det_train.cake_causal_conv1d_kcp``) followed by the KCP KDA step (``flashinfer.kda_train.chunk_kda_kcp``), forward and backward -- with CUDA events, and the slowest rank's time counting for the iteration. @@ -63,8 +63,8 @@ sys.path.insert(0, str(Path(__file__).resolve().parents[1])) -from flashinfer.cake_causal_conv1d_train import ( # noqa: E402 - cake_causal_conv1d, +from flashinfer.cake_causal_conv1d_det_train import ( # noqa: E402 + cake_causal_conv1d_det, cake_causal_conv1d_kcp, ) from flashinfer.kda_train import ( # noqa: E402 @@ -182,7 +182,7 @@ def _step_local(problem: dict[str, Any]) -> None: q, k, v, g, beta = ( local[n].detach().requires_grad_(True) for n in ("q", "k", "v", "g", "beta") ) - y = cake_causal_conv1d(x, w, local["cu_seqlens"]) + y = cake_causal_conv1d_det(x, w, local["cu_seqlens"]) out = chunk_kda(q, k, v, g, beta, local["cu_seqlens"]) torch.autograd.backward([y, out], [local["dy"], local["dout"]]) diff --git a/docs/api/mamba.rst b/docs/api/mamba.rst index fb0fe8c3c6b..40f2c4e109d 100644 --- a/docs/api/mamba.rst +++ b/docs/api/mamba.rst @@ -31,23 +31,23 @@ preactivation (default) or, with ``silu_grad_preactivation="fp32"``, at the unrounded FP32 one for a weight gradient within about 2e-7 rel-L2 of exact, and an autograd wrapper that saves only the forward's inputs. The forward's co-resident CTAs take each channel tile's tokens in chunks from int32 counters -in a forward workspace (``cake_causal_conv1d_train_forward_workspace`` / -``cake_causal_conv1d_train_forward_workspace_bytes``; zero before its first +in a forward workspace (``cake_causal_conv1d_det_train_forward_workspace`` / +``cake_causal_conv1d_det_train_forward_workspace_bytes``; zero before its first launch and left zero by every launch, so one buffer serves every later call of one stream); when the caller passes none the package keeps one per device and stream. -.. currentmodule:: flashinfer.cake_causal_conv1d_train +.. currentmodule:: flashinfer.cake_causal_conv1d_det_train .. autosummary:: :toctree: ../generated - cake_causal_conv1d + cake_causal_conv1d_det cake_causal_conv1d_kcp cake_causal_conv1d_kcp_multi KcpRecomputeHandle - cake_causal_conv1d_train_forward - cake_causal_conv1d_train_backward - cake_causal_conv1d_train_backward_workspace_bytes - cake_causal_conv1d_train_backward_workspace - CakeCausalConv1dFunction + cake_causal_conv1d_det_train_forward + cake_causal_conv1d_det_train_backward + cake_causal_conv1d_det_train_backward_workspace_bytes + cake_causal_conv1d_det_train_backward_workspace + CakeCausalConv1dDetFunction diff --git a/flashinfer/__init__.py b/flashinfer/__init__.py index 93fc24dbb0a..4050caad67c 100644 --- a/flashinfer/__init__.py +++ b/flashinfer/__init__.py @@ -334,22 +334,37 @@ def __dir__() -> list[str]: from . import ( cake_rmsnorm_silu_gate_train_backend as cake_rmsnorm_silu_gate_train_backend, ) -from .cake_causal_conv1d_train import ( - CakeCausalConv1dFunction as CakeCausalConv1dFunction, +from .cake_causal_conv1d_det_train import ( + CakeCausalConv1dDetFunction as CakeCausalConv1dDetFunction, ) -from .cake_causal_conv1d_train import cake_causal_conv1d as cake_causal_conv1d -from .cake_causal_conv1d_train import ( - cake_causal_conv1d_train_backward as cake_causal_conv1d_train_backward, +from .cake_causal_conv1d_det_train import ( + cake_causal_conv1d_det as cake_causal_conv1d_det, ) -from .cake_causal_conv1d_train import ( - cake_causal_conv1d_train_backward_workspace_bytes as cake_causal_conv1d_train_backward_workspace_bytes, +from .cake_causal_conv1d_det_train import ( + cake_causal_conv1d_det_train_backward as cake_causal_conv1d_det_train_backward, ) -from .cake_causal_conv1d_train import ( - cake_causal_conv1d_train_forward as cake_causal_conv1d_train_forward, +from .cake_causal_conv1d_det_train import ( + cake_causal_conv1d_det_train_backward_workspace_bytes as cake_causal_conv1d_det_train_backward_workspace_bytes, ) -from .cake_causal_conv1d_train import ( - cake_causal_conv1d_train_forward_workspace_bytes as cake_causal_conv1d_train_forward_workspace_bytes, +from .cake_causal_conv1d_det_train import ( + cake_causal_conv1d_det_train_forward as cake_causal_conv1d_det_train_forward, ) +from .cake_causal_conv1d_det_train import ( + cake_causal_conv1d_det_train_forward_workspace_bytes as cake_causal_conv1d_det_train_forward_workspace_bytes, +) + +# Compatibility names of the causal conv1d entry points, bound to the same objects as the det names. +CakeCausalConv1dFunction = CakeCausalConv1dDetFunction +cake_causal_conv1d = cake_causal_conv1d_det +cake_causal_conv1d_train_backward = cake_causal_conv1d_det_train_backward +cake_causal_conv1d_train_backward_workspace_bytes = ( + cake_causal_conv1d_det_train_backward_workspace_bytes +) +cake_causal_conv1d_train_forward = cake_causal_conv1d_det_train_forward +cake_causal_conv1d_train_forward_workspace_bytes = ( + cake_causal_conv1d_det_train_forward_workspace_bytes +) + from .cake_mhc_det_train import ( CakeMHCDetTrainFinishFunction as CakeMHCDetTrainFinishFunction, ) diff --git a/flashinfer/cake_causal_conv1d_train.py b/flashinfer/cake_causal_conv1d_det_train.py similarity index 82% rename from flashinfer/cake_causal_conv1d_train.py rename to flashinfer/cake_causal_conv1d_det_train.py index 70710164bd7..5c20b6533f0 100644 --- a/flashinfer/cake_causal_conv1d_train.py +++ b/flashinfer/cake_causal_conv1d_det_train.py @@ -57,7 +57,7 @@ take the tile's tokens in chunks from int32 counters on the device (the CTAs that finish first take the tail), so ``y`` is the same bits whatever CTA computes a chunk. The counters live in a forward workspace of -``cake_causal_conv1d_train_forward_workspace_bytes(S, C, device)`` bytes that is +``cake_causal_conv1d_det_train_forward_workspace_bytes(S, C, device)`` bytes that is zero before its first launch and that every launch leaves zero, so one buffer serves every later forward call of one stream, CUDA Graph replays included. A caller may own it (``workspace=``); otherwise the package keeps one zeroed @@ -77,7 +77,7 @@ programs through a host-side rule of the backend's registry (never the data), so a given ``(S, C, device)`` and route always run the same program. The workspace size is the maximum over every backward program of every route, so -one buffer of ``cake_causal_conv1d_train_backward_workspace_bytes(S, C, +one buffer of ``cake_causal_conv1d_det_train_backward_workspace_bytes(S, C, device)`` serves whichever program a call selects. Before capturing a CUDA Graph, build every library of the device's architecture (the backend's ``cake_jit.specs_for_arch``) so that no JIT build happens inside the capture; @@ -85,29 +85,29 @@ Usage:: - y = cake_causal_conv1d_train_forward(x, weight, cu_seqlens) - dx, dweight = cake_causal_conv1d_train_backward(x, weight, cu_seqlens, dy) + y = cake_causal_conv1d_det_train_forward(x, weight, cu_seqlens) + dx, dweight = cake_causal_conv1d_det_train_backward(x, weight, cu_seqlens, dy) # a bias (FP32 or BF16, like the taps) adds a third output - y = cake_causal_conv1d_train_forward(x, weight, cu_seqlens, bias=bias) - dx, dweight, dbias = cake_causal_conv1d_train_backward(x, weight, cu_seqlens, dy, bias=bias) + y = cake_causal_conv1d_det_train_forward(x, weight, cu_seqlens, bias=bias) + dx, dweight, dbias = cake_causal_conv1d_det_train_backward(x, weight, cu_seqlens, dy, bias=bias) # SiLU' at the unrounded FP32 preactivation for a ~2e-7 rel-L2 weight gradient - dx, dweight = cake_causal_conv1d_train_backward( + dx, dweight = cake_causal_conv1d_det_train_backward( x, weight, cu_seqlens, dy, silu_grad_preactivation="fp32" ) # autograd (saves x, weight, bias and cu_seqlens only) - y = cake_causal_conv1d(x, weight, cu_seqlens, bias) + y = cake_causal_conv1d_det(x, weight, cu_seqlens, bias) # caller-owned backward workspace (per-CTA FP32 partials, no zeroing needed) - ws = cake_causal_conv1d_train_backward_workspace(S, C, x.device) - dx, dweight = cake_causal_conv1d_train_backward(x, weight, cu_seqlens, dy, workspace=ws) + ws = cake_causal_conv1d_det_train_backward_workspace(S, C, x.device) + dx, dweight = cake_causal_conv1d_det_train_backward(x, weight, cu_seqlens, dy, workspace=ws) # caller-owned forward workspace (zeroed int32 token-chunk counters, left zero # by every launch: keep one per stream and reuse it for every later call) - fws = cake_causal_conv1d_train_forward_workspace(S, C, x.device) - y = cake_causal_conv1d_train_forward(x, weight, cu_seqlens, workspace=fws) + fws = cake_causal_conv1d_det_train_forward_workspace(S, C, x.device) + y = cake_causal_conv1d_det_train_forward(x, weight, cu_seqlens, workspace=fws) # context-parallel training: this rank's fragments of the packed batch, with the # history rows of the preceding fragments exchanged through the KCP context @@ -125,17 +125,17 @@ import torch -from . import cake_causal_conv1d_train_backend as _backend +from . import cake_causal_conv1d_det_train_backend as _backend from .api_logging import flashinfer_api -from .cake_causal_conv1d_train_backend import ( # noqa: F401 +from .cake_causal_conv1d_det_train_backend import ( # noqa: F401 ARCHES, SUPPORTED_COMPUTE_CAPABILITIES, - CakeCausalConv1dFunction, - cake_causal_conv1d_train_backward_workspace, - cake_causal_conv1d_train_backward_workspace_bytes, - cake_causal_conv1d_train_forward_workspace, - cake_causal_conv1d_train_forward_workspace_bytes, - is_cake_causal_conv1d_train_supported, + CakeCausalConv1dDetFunction, + cake_causal_conv1d_det_train_backward_workspace, + cake_causal_conv1d_det_train_backward_workspace_bytes, + cake_causal_conv1d_det_train_forward_workspace, + cake_causal_conv1d_det_train_forward_workspace_bytes, + is_cake_causal_conv1d_det_train_supported, ) # The three stable entry points are real ``def``s here (public-API tooling reads the @@ -145,7 +145,7 @@ @flashinfer_api -def cake_causal_conv1d_train_forward( +def cake_causal_conv1d_det_train_forward( x: torch.Tensor, weight: torch.Tensor, cu_seqlens: torch.Tensor, @@ -177,11 +177,11 @@ def cake_causal_conv1d_train_forward( Preallocated BF16 output of ``x``'s shape, contiguous. workspace : torch.Tensor, optional Caller-owned ``int32`` buffer from - :func:`cake_causal_conv1d_train_forward_workspace` (the token-chunk + :func:`cake_causal_conv1d_det_train_forward_workspace` (the token-chunk counters: zero before its first launch, left zero by every launch, so one buffer serves every later call of one stream, CUDA Graph replays included; two launches that may run at once need two buffers). Its - size (:func:`cake_causal_conv1d_train_forward_workspace_bytes`) is the + size (:func:`cake_causal_conv1d_det_train_forward_workspace_bytes`) is the most over every forward route. When omitted the package uses a zeroed buffer it keeps per (device, current stream), or a zeroed buffer of the call's own inside a CUDA Graph capture. @@ -194,13 +194,13 @@ def cake_causal_conv1d_train_forward( first token. ``S == 0`` returns the empty output without launching. """ - return _backend.cake_causal_conv1d_train_forward( + return _backend.cake_causal_conv1d_det_train_forward( x, weight, cu_seqlens, bias=bias, out=out, workspace=workspace ) @flashinfer_api -def cake_causal_conv1d_train_backward( +def cake_causal_conv1d_det_train_backward( x: torch.Tensor, weight: torch.Tensor, cu_seqlens: torch.Tensor, @@ -237,7 +237,7 @@ def cake_causal_conv1d_train_backward( ---------- x, weight, cu_seqlens, bias The forward's inputs (same contracts as - :func:`cake_causal_conv1d_train_forward`); nothing else is saved. + :func:`cake_causal_conv1d_det_train_forward`); nothing else is saved. dy : torch.Tensor BF16 gradient of ``y``, ``x``'s shape, contiguous. silu_grad_preactivation : {"bf16", "fp32"} @@ -249,10 +249,10 @@ def cake_causal_conv1d_train_backward( both. workspace : torch.Tensor, optional Caller-owned ``uint8`` buffer from - :func:`cake_causal_conv1d_train_backward_workspace` (the per-CTA FP32 + :func:`cake_causal_conv1d_det_train_backward_workspace` (the per-CTA FP32 ``dweight`` / ``dbias`` partials; fully written by the kernel, so it needs no zeroing); allocated when omitted. Its size - (:func:`cake_causal_conv1d_train_backward_workspace_bytes`) is the + (:func:`cake_causal_conv1d_det_train_backward_workspace_bytes`) is the maximum over every backward program of every route, so one buffer serves whichever program a call selects. dx, dweight, dbias : torch.Tensor, optional @@ -271,7 +271,7 @@ def cake_causal_conv1d_train_backward( returns the empty ``dx`` and zero gradients without launching. """ - return _backend.cake_causal_conv1d_train_backward( + return _backend.cake_causal_conv1d_det_train_backward( x, weight, cu_seqlens, @@ -286,7 +286,7 @@ def cake_causal_conv1d_train_backward( @flashinfer_api -def cake_causal_conv1d( +def cake_causal_conv1d_det( x: torch.Tensor, weight: torch.Tensor, cu_seqlens: torch.Tensor, @@ -309,7 +309,7 @@ def cake_causal_conv1d( FP32 or BF16 ``[C]`` contiguous per-channel bias. silu_grad_preactivation : {"bf16", "fp32"} The weight gradient's SiLU' policy (see - :func:`cake_causal_conv1d_train_backward`). + :func:`cake_causal_conv1d_det_train_backward`). Returns ------- @@ -317,11 +317,11 @@ def cake_causal_conv1d( BF16 ``y`` of ``x``'s shape. The backward saves only ``x``, ``weight``, ``bias`` and ``cu_seqlens`` and launches the fused ``dx`` + deterministic ``dweight`` (+ ``dbias``) kernel of - :func:`cake_causal_conv1d_train_backward`; the parameters' gradients + :func:`cake_causal_conv1d_det_train_backward`; the parameters' gradients come in the parameters' dtypes. """ - return _backend.cake_causal_conv1d( + return _backend.cake_causal_conv1d_det( x, weight, cu_seqlens, bias, silu_grad_preactivation=silu_grad_preactivation ) @@ -338,7 +338,7 @@ def cake_causal_conv1d_kcp( The first tokens of a fragment that continues a document read the history rows of the preceding fragment (exchanged through the context's halo collective) instead of zeros, so the result equals the single-rank - :func:`cake_causal_conv1d` of the whole batch on this rank's tokens. The KCP path takes FP32 taps and no + :func:`cake_causal_conv1d_det` of the whole batch on this rank's tokens. The KCP path takes FP32 taps and no bias (the package's pre-round-6 contract). Parameters @@ -352,7 +352,7 @@ def cake_causal_conv1d_kcp( From ``flashinfer.kda_train.build_kcp_context`` (the same context the KDA step of the rank uses). recompute_handle : KcpRecomputeHandle, optional Keyword-only, default ``None`` (unchanged behavior). A handle (any object with an ``entries`` dict, such as - ``flashinfer.cake_causal_conv1d_train.KcpRecomputeHandle``) makes the checkpoint recompute of + ``flashinfer.cake_causal_conv1d_det_train.KcpRecomputeHandle``) makes the checkpoint recompute of this call run without the forward halo exchange: the original forward exchanges as always and stores its history rows (the saved set's own tensor, key ``"conv"``) in the handle; torch's recompute of the forward inside the backward reads them back, so ``y`` and the gradients are bitwise those of the same checkpoint @@ -372,7 +372,7 @@ def cake_causal_conv1d_kcp( fused ``dx`` + deterministic FP32 ``dweight`` kernel of this rank's fragments. """ - from .cake_causal_conv1d_train_backend import kcp as _kcp + from .cake_causal_conv1d_det_train_backend import kcp as _kcp return _kcp.cake_causal_conv1d_kcp( x_local, weight, ctx, recompute_handle=recompute_handle @@ -421,18 +421,39 @@ def cake_causal_conv1d_kcp_multi( The ``n`` BF16 outputs, each of its input's shape. """ - from .cake_causal_conv1d_train_backend import kcp as _kcp + from .cake_causal_conv1d_det_train_backend import kcp as _kcp return _kcp.cake_causal_conv1d_kcp_multi( xs, weights, ctx, recompute_handle=recompute_handle ) +# Compatibility names of the single-rank entry points, each bound to the same object as its det name +# (one ``flashinfer_api`` wrapper per entry point). They are attributes, not ``__all__`` entries. +CakeCausalConv1dFunction = CakeCausalConv1dDetFunction +cake_causal_conv1d = cake_causal_conv1d_det +cake_causal_conv1d_train_backward = cake_causal_conv1d_det_train_backward +cake_causal_conv1d_train_backward_workspace = ( + cake_causal_conv1d_det_train_backward_workspace +) +cake_causal_conv1d_train_backward_workspace_bytes = ( + cake_causal_conv1d_det_train_backward_workspace_bytes +) +cake_causal_conv1d_train_forward = cake_causal_conv1d_det_train_forward +cake_causal_conv1d_train_forward_workspace = ( + cake_causal_conv1d_det_train_forward_workspace +) +cake_causal_conv1d_train_forward_workspace_bytes = ( + cake_causal_conv1d_det_train_forward_workspace_bytes +) +is_cake_causal_conv1d_train_supported = is_cake_causal_conv1d_det_train_supported + + def __getattr__(name: str) -> Any: # ``KcpRecomputeHandle`` (the KCP route's checkpoint recompute handle) resolves on first access, so importing the # facade does not import the KCP host module (torch.distributed, the KCP loader), like the entry point above. if name == "KcpRecomputeHandle": - from .cake_causal_conv1d_train_backend.kcp import KcpRecomputeHandle + from .cake_causal_conv1d_det_train_backend.kcp import KcpRecomputeHandle return KcpRecomputeHandle raise AttributeError(f"module {__name__!r} has no attribute {name!r}") @@ -441,16 +462,16 @@ def __getattr__(name: str) -> Any: __all__ = [ "ARCHES", "SUPPORTED_COMPUTE_CAPABILITIES", - "CakeCausalConv1dFunction", + "CakeCausalConv1dDetFunction", "KcpRecomputeHandle", # noqa: F822 - resolved by __getattr__ - "cake_causal_conv1d", + "cake_causal_conv1d_det", + "cake_causal_conv1d_det_train_backward", + "cake_causal_conv1d_det_train_backward_workspace", + "cake_causal_conv1d_det_train_backward_workspace_bytes", + "cake_causal_conv1d_det_train_forward", + "cake_causal_conv1d_det_train_forward_workspace", + "cake_causal_conv1d_det_train_forward_workspace_bytes", "cake_causal_conv1d_kcp", "cake_causal_conv1d_kcp_multi", - "cake_causal_conv1d_train_backward", - "cake_causal_conv1d_train_backward_workspace", - "cake_causal_conv1d_train_backward_workspace_bytes", - "cake_causal_conv1d_train_forward", - "cake_causal_conv1d_train_forward_workspace", - "cake_causal_conv1d_train_forward_workspace_bytes", - "is_cake_causal_conv1d_train_supported", + "is_cake_causal_conv1d_det_train_supported", ] diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/__init__.py b/flashinfer/cake_causal_conv1d_det_train_backend/__init__.py index 31143b02340..b4918d91ae4 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/__init__.py +++ b/flashinfer/cake_causal_conv1d_det_train_backend/__init__.py @@ -13,12 +13,12 @@ See the License for the specific language governing permissions and limitations under the License. -Backend of :mod:`flashinfer.cake_causal_conv1d_train`: the Cake packed width-4 +Backend of :mod:`flashinfer.cake_causal_conv1d_det_train`: the Cake packed width-4 depthwise causal convolution + SiLU training forward / backward (SM100 / SM103 / SM107) as one self-contained package (host API bodies, the ``cake_jit`` registry, the pinned ``cake_build`` loader and the generated CUDA sources under ``csrc/``). The stable, ``@flashinfer_api``-decorated entry points and the full user-facing -documentation live in :mod:`flashinfer.cake_causal_conv1d_train`; import that +documentation live in :mod:`flashinfer.cake_causal_conv1d_det_train`; import that module. Host design (the knobs are keywords; no environment variable): @@ -45,7 +45,7 @@ - The forward (the dynamic token-chunk programs) takes its token chunks from int32 counters, two per channel tile, in a forward workspace that is zero before its first launch and that every launch leaves zero: a caller-owned - buffer (``workspace=``, from :func:`cake_causal_conv1d_train_forward_workspace`) + buffer (``workspace=``, from :func:`cake_causal_conv1d_det_train_forward_workspace`) or, when omitted, a zeroed buffer this module keeps per (device, current stream), grown as needed and never zeroed again; inside a CUDA Graph capture an omitted workspace is a zeroed buffer of the call's own (its zeroing is @@ -130,7 +130,7 @@ def _device_arch(device: torch.device) -> str: return arch -def is_cake_causal_conv1d_train_supported(device: torch.device) -> bool: +def is_cake_causal_conv1d_det_train_supported(device: torch.device) -> bool: """Whether ``device`` has the exported routes every architecture ships (``fwd`` and ``bwd``). The optional routes (bias, BF16 taps / gradients, FP32 SiLU') are checked @@ -371,7 +371,7 @@ def _launch( return scalars, grid -def cake_causal_conv1d_train_backward_workspace_bytes( +def cake_causal_conv1d_det_train_backward_workspace_bytes( S: int, C: int, device: torch.device ) -> int: """Bytes of the caller-owned backward workspace for ``C`` channels on ``device``. @@ -411,16 +411,16 @@ def cake_causal_conv1d_train_backward_workspace_bytes( ) -def cake_causal_conv1d_train_backward_workspace( +def cake_causal_conv1d_det_train_backward_workspace( S: int, C: int, device: torch.device ) -> torch.Tensor: """Allocate a backward workspace (see ``..._workspace_bytes``; no zeroing is needed).""" - nbytes = cake_causal_conv1d_train_backward_workspace_bytes(S, C, device) + nbytes = cake_causal_conv1d_det_train_backward_workspace_bytes(S, C, device) return torch.empty(nbytes, dtype=torch.uint8, device=torch.device(device)) -def cake_causal_conv1d_train_forward_workspace_bytes( +def cake_causal_conv1d_det_train_forward_workspace_bytes( S: int, C: int, device: torch.device ) -> int: """Bytes of the caller-owned forward workspace for ``C`` channels on ``device``. @@ -448,13 +448,13 @@ def cake_causal_conv1d_train_forward_workspace_bytes( return 4 * forward_workspace_words(_device_arch(device), C) -def cake_causal_conv1d_train_forward_workspace( +def cake_causal_conv1d_det_train_forward_workspace( S: int, C: int, device: torch.device ) -> torch.Tensor: """Allocate a zeroed int32 forward workspace (see ``..._workspace_bytes``); keep it for every later forward call of one stream.""" - nbytes = cake_causal_conv1d_train_forward_workspace_bytes(S, C, device) + nbytes = cake_causal_conv1d_det_train_forward_workspace_bytes(S, C, device) return torch.zeros(nbytes // 4, dtype=torch.int32, device=torch.device(device)) @@ -483,7 +483,7 @@ def _forward_work( if ws.numel() < words: raise ValueError( f"workspace holds {ws.numel()} int32 words; this call needs at least " - f"{words}; allocate cake_causal_conv1d_train_forward_workspace(S, C, device)" + f"{words}; allocate cake_causal_conv1d_det_train_forward_workspace(S, C, device)" ) return ws if words == 0: @@ -521,13 +521,13 @@ def _partial_view( raise ValueError( f"workspace holds {ws.numel()} bytes; this call needs at least " f"{nbytes}; allocate " - "cake_causal_conv1d_train_backward_workspace_bytes(S, C, device) bytes" + "cake_causal_conv1d_det_train_backward_workspace_bytes(S, C, device) bytes" ) taps = int(record["workspace_rule"]["taps"]) return ws[:nbytes].view(torch.float32).view(rows, C, taps) -def cake_causal_conv1d_train_forward( +def cake_causal_conv1d_det_train_forward( x: torch.Tensor, weight: torch.Tensor, cu_seqlens: torch.Tensor, @@ -557,7 +557,7 @@ def cake_causal_conv1d_train_forward( Preallocated BF16 output of ``x``'s shape, contiguous. workspace : torch.Tensor, optional Caller-owned int32 buffer from - :func:`cake_causal_conv1d_train_forward_workspace` (the token-chunk + :func:`cake_causal_conv1d_det_train_forward_workspace` (the token-chunk counters, zero before its first launch; every launch leaves it zero, so one buffer serves every later call of one stream). Two launches that may run at once need two buffers. When omitted the package @@ -614,7 +614,7 @@ def cake_causal_conv1d_train_forward( return y -def cake_causal_conv1d_train_backward( +def cake_causal_conv1d_det_train_backward( x: torch.Tensor, weight: torch.Tensor, cu_seqlens: torch.Tensor, @@ -633,7 +633,7 @@ def cake_causal_conv1d_train_backward( ---------- x, weight, cu_seqlens, bias The forward's inputs (same contracts as - :func:`cake_causal_conv1d_train_forward`); nothing else is saved. + :func:`cake_causal_conv1d_det_train_forward`); nothing else is saved. dy : torch.Tensor BF16 gradient of ``y``, ``x``'s shape, contiguous. silu_grad_preactivation : {"bf16", "fp32"} @@ -644,7 +644,7 @@ def cake_causal_conv1d_train_backward( reduction (~2e-7). ``dx`` is within one BF16 ulp of exact either way. workspace : torch.Tensor, optional Caller-owned ``uint8`` buffer from - :func:`cake_causal_conv1d_train_backward_workspace`; allocated when + :func:`cake_causal_conv1d_det_train_backward_workspace`; allocated when omitted. dx, dweight, dbias : torch.Tensor, optional Preallocated outputs: BF16 of ``x``'s shape, ``[C, 4]`` and ``[C]`` @@ -665,7 +665,7 @@ def cake_causal_conv1d_train_backward( host-side rule (``cake_jit.selected_modules``; the data is never read), so a given ``(S, C, device)`` and route always run the same program. The ``workspace`` is sized for every program of every route - (:func:`cake_causal_conv1d_train_backward_workspace_bytes`); the selected + (:func:`cake_causal_conv1d_det_train_backward_workspace_bytes`); the selected program uses the leading rows of its own grid. A call is two ordinary launches on the current stream: the selected @@ -748,7 +748,7 @@ def cake_causal_conv1d_train_backward( scalars, grid = _launch(record, S, C, num_docs, device_index=device_index) grid_x = grid[0] if workspace is None: - workspace = cake_causal_conv1d_train_backward_workspace(S, C, device) + workspace = cake_causal_conv1d_det_train_backward_workspace(S, C, device) rows = partial_rows(grid_x, scalars["n_ch_tiles"]) partial = _partial_view(workspace, record, C=C, rows=rows, device=device) values: dict[str, object] = { @@ -782,12 +782,12 @@ def cake_causal_conv1d_train_backward( return dx_out, dw_out, db_out -class CakeCausalConv1dFunction(torch.autograd.Function): +class CakeCausalConv1dDetFunction(torch.autograd.Function): """Autograd wrapper saving only ``(x, weight, cu_seqlens, bias)`` for the backward. ``forward(x, weight, cu_seqlens, bias=None, silu_grad_preactivation="bf16")`` returns ``y``; the backward runs the fused ``dx`` + deterministic - ``dweight`` (+ ``dbias``) pair of launches of :func:`cake_causal_conv1d_train_backward` + ``dweight`` (+ ``dbias``) pair of launches of :func:`cake_causal_conv1d_det_train_backward` on the incoming gradient (materialized as a contiguous BF16 tensor when autograd hands over another layout or dtype) and returns the gradients of ``weight`` and ``bias`` in the parameters' dtypes. @@ -795,7 +795,7 @@ class CakeCausalConv1dFunction(torch.autograd.Function): @staticmethod def forward(ctx, x, weight, cu_seqlens, bias=None, silu_grad_preactivation="bf16"): - y = cake_causal_conv1d_train_forward(x, weight, cu_seqlens, bias=bias) + y = cake_causal_conv1d_det_train_forward(x, weight, cu_seqlens, bias=bias) ctx.save_for_backward(x, weight, cu_seqlens, bias) ctx.silu_grad_preactivation = _silu_grad_preactivation(silu_grad_preactivation) return y @@ -806,7 +806,7 @@ def backward(ctx, grad_y): if grad_y is None: grad_y = torch.zeros_like(x) dy = grad_y.to(torch.bfloat16).contiguous() - grads = cake_causal_conv1d_train_backward( + grads = cake_causal_conv1d_det_train_backward( x, weight, cu_seqlens, @@ -818,7 +818,7 @@ def backward(ctx, grad_y): return grads[0], grads[1], None, dbias, None -def cake_causal_conv1d( +def cake_causal_conv1d_det( x: torch.Tensor, weight: torch.Tensor, cu_seqlens: torch.Tensor, @@ -841,7 +841,7 @@ def cake_causal_conv1d( FP32 or BF16 ``[C]`` contiguous per-channel bias. silu_grad_preactivation : {"bf16", "fp32"} The weight gradient's SiLU' policy (see - :func:`cake_causal_conv1d_train_backward`). + :func:`cake_causal_conv1d_det_train_backward`). Returns ------- @@ -851,23 +851,44 @@ def cake_causal_conv1d( (and ``dbias``) in the parameters' dtypes. """ - return CakeCausalConv1dFunction.apply( + return CakeCausalConv1dDetFunction.apply( x, weight, cu_seqlens, bias, silu_grad_preactivation ) +# Compatibility names of the entry points, bound to the same objects as the det names. They are attributes, not +# ``__all__`` entries. +CakeCausalConv1dFunction = CakeCausalConv1dDetFunction +cake_causal_conv1d = cake_causal_conv1d_det +cake_causal_conv1d_train_backward = cake_causal_conv1d_det_train_backward +cake_causal_conv1d_train_backward_workspace = ( + cake_causal_conv1d_det_train_backward_workspace +) +cake_causal_conv1d_train_backward_workspace_bytes = ( + cake_causal_conv1d_det_train_backward_workspace_bytes +) +cake_causal_conv1d_train_forward = cake_causal_conv1d_det_train_forward +cake_causal_conv1d_train_forward_workspace = ( + cake_causal_conv1d_det_train_forward_workspace +) +cake_causal_conv1d_train_forward_workspace_bytes = ( + cake_causal_conv1d_det_train_forward_workspace_bytes +) +is_cake_causal_conv1d_train_supported = is_cake_causal_conv1d_det_train_supported + + __all__ = [ "ARCHES", "PARAMETER_DTYPES", "SILU_GRAD_PREACTIVATIONS", "SUPPORTED_COMPUTE_CAPABILITIES", - "CakeCausalConv1dFunction", - "cake_causal_conv1d", - "cake_causal_conv1d_train_backward", - "cake_causal_conv1d_train_backward_workspace", - "cake_causal_conv1d_train_backward_workspace_bytes", - "cake_causal_conv1d_train_forward", - "cake_causal_conv1d_train_forward_workspace", - "cake_causal_conv1d_train_forward_workspace_bytes", - "is_cake_causal_conv1d_train_supported", + "CakeCausalConv1dDetFunction", + "cake_causal_conv1d_det", + "cake_causal_conv1d_det_train_backward", + "cake_causal_conv1d_det_train_backward_workspace", + "cake_causal_conv1d_det_train_backward_workspace_bytes", + "cake_causal_conv1d_det_train_forward", + "cake_causal_conv1d_det_train_forward_workspace", + "cake_causal_conv1d_det_train_forward_workspace_bytes", + "is_cake_causal_conv1d_det_train_supported", ] diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py b/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py index 849a2844f91..6b6bc2a57d7 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py +++ b/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py @@ -21,7 +21,7 @@ derivative back to the predecessor fragments, which fold it into their last rows' ``dx`` before the one BF16 rounding. ``cake_causal_conv1d_kcp(x_local, weight, ctx)`` is the autograd entry; the stable, ``@flashinfer_api``-decorated -facade is :mod:`flashinfer.cake_causal_conv1d_train`. This module imports +facade is :mod:`flashinfer.cake_causal_conv1d_det_train`. This module imports only ``os``, torch, torch.distributed, tvm_ffi and its own package. Registry contract (``kcp_jit``, the KCP records beside the zero-history diff --git a/flashinfer/experimental/cake_kda_train/README.md b/flashinfer/experimental/cake_kda_train/README.md index 857fb5b02e2..b3ba4a9d4ba 100644 --- a/flashinfer/experimental/cake_kda_train/README.md +++ b/flashinfer/experimental/cake_kda_train/README.md @@ -574,7 +574,7 @@ the partition's order) and return that shard's outputs and gradients: from flashinfer.kda_train import (kcp_partition, build_kcp_context, chunk_kda_kcp, chunk_kda_kcp_fwd, chunk_kda_kcp_bwd, kcp_workspace_bytes, kcp_saved_bytes, kcp_comm_bytes) -from flashinfer.cake_causal_conv1d_train import cake_causal_conv1d_kcp +from flashinfer.cake_causal_conv1d_det_train import cake_causal_conv1d_kcp part = kcp_partition(cu_seqlens_global_cpu, world_size) # the same object on every rank ctx = build_kcp_context(part, group, rank, device) # this rank's tables and collectives @@ -779,7 +779,7 @@ A recompute handle keeps what the original forward received instead: ```python from flashinfer.kda_train import KcpRecomputeHandle, chunk_kda_kcp -from flashinfer.cake_causal_conv1d_train import cake_causal_conv1d_kcp +from flashinfer.cake_causal_conv1d_det_train import cake_causal_conv1d_kcp def layer(xq, xk, xv, g, beta, hq, hk, hv): q = cake_causal_conv1d_kcp(xq, wq, ctx, recompute_handle=hq) # "conv" entry of hq diff --git a/pyproject.toml b/pyproject.toml index f7794821e99..448e5599546 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,7 +86,7 @@ exclude = [ # Cake-exported packages (flashinfer-ai/flashinfer#6553): the generated csrc tree plus the # build manifest (build.json) their cake_build loader reads; prebuilt aot/ libraries never ship. "flashinfer.cake_rmsnorm_det_train_backend" = ["csrc/**", "build.json"] -"flashinfer.cake_causal_conv1d_train_backend" = ["csrc/**", "build.json"] +"flashinfer.cake_causal_conv1d_det_train_backend" = ["csrc/**", "build.json"] "flashinfer.cake_ulysses_backend" = ["csrc/**", "build.json"] "flashinfer.cake_fused_qk_rope_append_backend" = ["csrc/**", "build.json"] "flashinfer.cake_nvfp4_svdquant_gemm_backend" = ["csrc/**", "build.json"] diff --git a/scripts/check_cake_build_manifests.py b/scripts/check_cake_build_manifests.py index e592a69345c..ca759fecbaa 100755 --- a/scripts/check_cake_build_manifests.py +++ b/scripts/check_cake_build_manifests.py @@ -335,8 +335,8 @@ class Package: refs_generic, ), Package( - "flashinfer.cake_causal_conv1d_train_backend", - "flashinfer/cake_causal_conv1d_train_backend", + "flashinfer.cake_causal_conv1d_det_train_backend", + "flashinfer/cake_causal_conv1d_det_train_backend", "cake_jit.py", refs_generic, ), diff --git a/tests/norm/test_cake_causal_conv1d_train.py b/tests/norm/test_cake_causal_conv1d_det_train.py similarity index 92% rename from tests/norm/test_cake_causal_conv1d_train.py rename to tests/norm/test_cake_causal_conv1d_det_train.py index 3a322d404a4..8f044007e7b 100644 --- a/tests/norm/test_cake_causal_conv1d_train.py +++ b/tests/norm/test_cake_causal_conv1d_det_train.py @@ -63,8 +63,8 @@ through ``tests.test_helpers.cake_package``, and imports nothing else from flashinfer, so a build that vendors the package under another import path runs it unchanged after pointing that table entry at its package. The -``flashinfer.cake_causal_conv1d_train`` facade and the ``flashinfer`` -top-level exposure are covered by ``test_cake_causal_conv1d_train_api.py``. +``flashinfer.cake_causal_conv1d_det_train`` facade and the ``flashinfer`` +top-level exposure are covered by ``test_cake_causal_conv1d_det_train_api.py``. """ from __future__ import annotations @@ -80,26 +80,28 @@ from tests.test_helpers.cake_package import cake_package -pkg = cake_package("cake_causal_conv1d_train") -cake_build = cake_package("cake_causal_conv1d_train", "cake_build") -loader = cake_package("cake_causal_conv1d_train", "cake_jit") -kcp_loader = cake_package("cake_causal_conv1d_train", "kcp_jit") -cake_causal_conv1d = pkg.cake_causal_conv1d -cake_causal_conv1d_train_backward = pkg.cake_causal_conv1d_train_backward -cake_causal_conv1d_train_backward_workspace = ( - pkg.cake_causal_conv1d_train_backward_workspace +pkg = cake_package("cake_causal_conv1d_det_train") +cake_build = cake_package("cake_causal_conv1d_det_train", "cake_build") +loader = cake_package("cake_causal_conv1d_det_train", "cake_jit") +kcp_loader = cake_package("cake_causal_conv1d_det_train", "kcp_jit") +cake_causal_conv1d_det = pkg.cake_causal_conv1d_det +cake_causal_conv1d_det_train_backward = pkg.cake_causal_conv1d_det_train_backward +cake_causal_conv1d_det_train_backward_workspace = ( + pkg.cake_causal_conv1d_det_train_backward_workspace ) -cake_causal_conv1d_train_backward_workspace_bytes = ( - pkg.cake_causal_conv1d_train_backward_workspace_bytes +cake_causal_conv1d_det_train_backward_workspace_bytes = ( + pkg.cake_causal_conv1d_det_train_backward_workspace_bytes ) -cake_causal_conv1d_train_forward = pkg.cake_causal_conv1d_train_forward -cake_causal_conv1d_train_forward_workspace = ( - pkg.cake_causal_conv1d_train_forward_workspace +cake_causal_conv1d_det_train_forward = pkg.cake_causal_conv1d_det_train_forward +cake_causal_conv1d_det_train_forward_workspace = ( + pkg.cake_causal_conv1d_det_train_forward_workspace ) -cake_causal_conv1d_train_forward_workspace_bytes = ( - pkg.cake_causal_conv1d_train_forward_workspace_bytes +cake_causal_conv1d_det_train_forward_workspace_bytes = ( + pkg.cake_causal_conv1d_det_train_forward_workspace_bytes +) +is_cake_causal_conv1d_det_train_supported = ( + pkg.is_cake_causal_conv1d_det_train_supported ) -is_cake_causal_conv1d_train_supported = pkg.is_cake_causal_conv1d_train_supported SUPPORTED_CAPABILITIES = ((10, 0), (10, 3), (10, 7)) WIDTH = 4 @@ -245,13 +247,13 @@ def _supported() -> bool: return ( torch.cuda.is_available() and _capability() in SUPPORTED_CAPABILITIES - and is_cake_causal_conv1d_train_supported(_device()) + and is_cake_causal_conv1d_det_train_supported(_device()) ) pytestmark = pytest.mark.skipif( not _supported(), - reason="cake_causal_conv1d_train needs an SM100 / SM103 / SM107 device with exported routes", + reason="cake_causal_conv1d_det_train needs an SM100 / SM103 / SM107 device with exported routes", ) @@ -578,7 +580,7 @@ def _check( label or f"S={S} C={C} docs={docs} w={w.dtype} b={None if b is None else b.dtype} {policy}" ) - y = cake_causal_conv1d_train_forward(x, w, cu, bias=b) + y = cake_causal_conv1d_det_train_forward(x, w, cu, bias=b) assert ( y.dtype == torch.bfloat16 and tuple(y.shape) == tuple(x.shape) @@ -597,7 +599,7 @@ def _check( if dbias_dtype is None else torch.empty(C, dtype=dbias_dtype, device=_device()) ) - grads = cake_causal_conv1d_train_backward( + grads = cake_causal_conv1d_det_train_backward( x, w, cu, @@ -653,7 +655,7 @@ def _route_inputs(S: int, C: int, docs, kind: str, *, key: int = 0): def _backward(x, w, cu, dy, b, policy, **kwargs): """``(dx, dweight, dbias_or_None)`` of one backward call.""" - grads = cake_causal_conv1d_train_backward( + grads = cake_causal_conv1d_det_train_backward( x, w, cu, dy, bias=b, silu_grad_preactivation=policy, **kwargs ) return grads[0], grads[1], (grads[2] if b is not None else None) @@ -856,15 +858,15 @@ def test_main_grid_literal_table() -> None: # the kernel module's rules-test rows on both sides of the token and channel # boundaries; C = 512 is the first channel-selected program of every arch. BWD_FALLBACK = { - "sm_100a": "cake_causal_conv1d_train_9bfa65707a49df6a48ce", - "sm_103a": "cake_causal_conv1d_train_9bfa65707a49df6a48ce", - "sm_107a": "cake_causal_conv1d_train_b4f7ff5a3dd9ddd2f41c", + "sm_100a": "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce", + "sm_103a": "cake_causal_conv1d_det_train_9bfa65707a49df6a48ce", + "sm_107a": "cake_causal_conv1d_det_train_b4f7ff5a3dd9ddd2f41c", } -BWD_R200_ST4 = "cake_causal_conv1d_train_9a07bcaa0223632640ee" +BWD_R200_ST4 = "cake_causal_conv1d_det_train_9a07bcaa0223632640ee" BWD_AT_512 = { - "sm_100a": "cake_causal_conv1d_train_37e428406a0cc4a8ca1b", - "sm_103a": "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6", - "sm_107a": "cake_causal_conv1d_train_d46036aa2bc5f90bb0f6", + "sm_100a": "cake_causal_conv1d_det_train_37e428406a0cc4a8ca1b", + "sm_103a": "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6", + "sm_107a": "cake_causal_conv1d_det_train_d46036aa2bc5f90bb0f6", } BWD_SELECTION_TOKENS = (250340, 262143, 262144, 300007) BWD_SELECTION_CHANNELS = (128, 248, 255, 256, 384, 504, 511, 512) @@ -928,7 +930,7 @@ def record_launches(launches, values, *, device_index): launched.extend((name, dict(values), grid) for name, grid in launches) monkeypatch.setattr(pkg, "run_modules", record_launches) - cake_causal_conv1d_train_backward(x, w, cu, dy) + cake_causal_conv1d_det_train_backward(x, w, cu, dy) main = loader.selected_modules(arch, "bwd", C=C, S=S)[0] record = loader.MODULES[main] assert [name for name, _, _ in launched] == [main, record["reduce"]] @@ -1082,10 +1084,12 @@ def test_batched_layout_matches_the_packed_one(case) -> None: S, C, docs = case x, w, cu, dy = _inputs(S, C, docs) - y = cake_causal_conv1d_train_forward(x, w, cu) - dx, dw = cake_causal_conv1d_train_backward(x, w, cu, dy) - y3 = cake_causal_conv1d_train_forward(x.unsqueeze(0), w, cu) - dx3, dw3 = cake_causal_conv1d_train_backward(x.unsqueeze(0), w, cu, dy.unsqueeze(0)) + y = cake_causal_conv1d_det_train_forward(x, w, cu) + dx, dw = cake_causal_conv1d_det_train_backward(x, w, cu, dy) + y3 = cake_causal_conv1d_det_train_forward(x.unsqueeze(0), w, cu) + dx3, dw3 = cake_causal_conv1d_det_train_backward( + x.unsqueeze(0), w, cu, dy.unsqueeze(0) + ) assert tuple(y3.shape) == (1, S, C) and tuple(dx3.shape) == (1, S, C) assert torch.equal(y3[0], y) and torch.equal(dx3[0], dx) and torch.equal(dw3, dw) @@ -1097,16 +1101,16 @@ def test_document_isolation() -> None: x, w, cu, dy = _inputs(S, C, docs) lens = doc_lengths(S, docs) starts = [0, *torch.tensor(lens).cumsum(0).tolist()] - y = cake_causal_conv1d_train_forward(x, w, cu) - dx, _dw = cake_causal_conv1d_train_backward(x, w, cu, dy) + y = cake_causal_conv1d_det_train_forward(x, w, cu) + dx, _dw = cake_causal_conv1d_det_train_backward(x, w, cu, dy) # Perturb every token of document 2 (the 257-token one) in x and dy. a, b = starts[2], starts[3] x2 = x.clone() x2[a:b] = (x2[a:b].float() * -1.5 + 0.25).to(torch.bfloat16) dy2 = dy.clone() dy2[a:b] = (dy2[a:b].float() * 2.0).to(torch.bfloat16) - y2 = cake_causal_conv1d_train_forward(x2, w, cu) - dx2, _dw2 = cake_causal_conv1d_train_backward(x2, w, cu, dy2) + y2 = cake_causal_conv1d_det_train_forward(x2, w, cu) + dx2, _dw2 = cake_causal_conv1d_det_train_backward(x2, w, cu, dy2) assert not torch.equal(y2[a:b], y[a:b]), "the perturbed document did not change" outside = torch.ones(S, dtype=torch.bool, device=_device()) outside[a:b] = False @@ -1121,19 +1125,19 @@ def test_document_isolation() -> None: def test_dweight_is_bitwise_identical_over_three_launches(case) -> None: S, C, docs = case x, w, cu, dy = _inputs(S, C, docs) - workspace = cake_causal_conv1d_train_backward_workspace(S, C, _device()) + workspace = cake_causal_conv1d_det_train_backward_workspace(S, C, _device()) results = [] for _repeat in range(3): dx = torch.full((S, C), float("nan"), dtype=torch.bfloat16, device=_device()) dw = torch.full((C, WIDTH), float("nan"), dtype=torch.float32, device=_device()) # Poison the workspace: the kernel must rewrite every partial row it reduces. workspace.view(torch.float32).fill_(float("nan")) - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_backward( x, w, cu, dy, workspace=workspace, dx=dx, dweight=dw ) torch.cuda.synchronize() results.append((dx.clone(), dw.clone())) - fresh_dx, fresh_dw = cake_causal_conv1d_train_backward(x, w, cu, dy) + fresh_dx, fresh_dw = cake_causal_conv1d_det_train_backward(x, w, cu, dy) for dx, dw in results[1:]: assert torch.equal(dx, results[0][0]) assert torch.equal(dw, results[0][1]) @@ -1169,7 +1173,7 @@ def test_backward_programs_switch_on_channel_count(kind) -> None: assert len(selected) == 1, f"S={S} C={C}: {selected}" launched.add(selected[0]) x, w, cu, dy, b, policy = _route_inputs(S, C, docs, kind) - workspace = cake_causal_conv1d_train_backward_workspace(S, C, _device()) + workspace = cake_causal_conv1d_det_train_backward_workspace(S, C, _device()) # Poison the whole buffer (sized for the largest partial buffer over every route): the selected # program must rewrite every partial row (and dbias row) it reduces. workspace.view(torch.float32).fill_(float("nan")) @@ -1215,7 +1219,7 @@ def test_forward_programs_switch_on_channel_count(kind) -> None: launched.add(selected[0]) x, w, cu, _, b, _ = _route_inputs(S, C, docs, FORWARD_ROUTE_SETTINGS[kind]) label = f"{kind} S={S} C={C} docs={docs} program={selected[0]}" - y = cake_causal_conv1d_train_forward(x, w, cu, bias=b) + y = cake_causal_conv1d_det_train_forward(x, w, cu, bias=b) _assert_within( y, reference_forward(x, w, cu, b), @@ -1268,7 +1272,7 @@ def test_routed_rows_match_fallback_dx_bitwise(case) -> None: pytest.skip(f"S={S} C={C} runs the fallback program {fallback} on {arch}") device = _device() x, w, cu, dy = _inputs(S, C, docs) - dx, dw = cake_causal_conv1d_train_backward(x, w, cu, dy) + dx, dw = cake_causal_conv1d_det_train_backward(x, w, cu, dy) record = loader.MODULES[fallback] scalars = loader.plan( S, @@ -1311,13 +1315,13 @@ def test_routed_rows_match_fallback_dx_bitwise(case) -> None: def test_preallocated_outputs_are_written_in_place() -> None: S, C, docs = 1000, 512, "perf" x, w, cu, dy = _inputs(S, C, docs) - y_ref = cake_causal_conv1d_train_forward(x, w, cu) - dx_ref, dw_ref = cake_causal_conv1d_train_backward(x, w, cu, dy) + y_ref = cake_causal_conv1d_det_train_forward(x, w, cu) + dx_ref, dw_ref = cake_causal_conv1d_det_train_backward(x, w, cu, dy) out = torch.full((S, C), float("nan"), dtype=torch.bfloat16, device=_device()) dx = torch.full((S, C), float("nan"), dtype=torch.bfloat16, device=_device()) dw = torch.full((C, WIDTH), float("nan"), dtype=torch.float32, device=_device()) - assert cake_causal_conv1d_train_forward(x, w, cu, out=out) is out - got = cake_causal_conv1d_train_backward(x, w, cu, dy, dx=dx, dweight=dw) + assert cake_causal_conv1d_det_train_forward(x, w, cu, out=out) is out + got = cake_causal_conv1d_det_train_backward(x, w, cu, dy, dx=dx, dweight=dw) assert len(got) == 2 and got[0] is dx and got[1] is dw assert ( torch.equal(out, y_ref) and torch.equal(dx, dx_ref) and torch.equal(dw, dw_ref) @@ -1332,7 +1336,7 @@ def test_preallocated_bias_outputs_are_written_in_place() -> None: dx = torch.full((S, C), float("nan"), dtype=torch.bfloat16, device=_device()) dw = torch.full((C, WIDTH), float("nan"), dtype=torch.float32, device=_device()) db = torch.full((C,), float("nan"), dtype=torch.float32, device=_device()) - got = cake_causal_conv1d_train_backward( + got = cake_causal_conv1d_det_train_backward( x, w, cu, dy, bias=b, dx=dx, dweight=dw, dbias=db ) assert len(got) == 3 and got[0] is dx and got[1] is dw and got[2] is db @@ -1349,13 +1353,13 @@ def _capture_and_replay(cases, kind: str, *, key: int) -> int: captured = [] for S, C, docs in cases: x, w, cu, dy, b, policy = _route_inputs(S, C, docs, kind, key=key) - eager_y = cake_causal_conv1d_train_forward(x, w, cu, bias=b) + eager_y = cake_causal_conv1d_det_train_forward(x, w, cu, bias=b) eager = (eager_y, *_backward(x, w, cu, dy, b, policy)) y = torch.empty_like(x) dx = torch.empty_like(x) dw = torch.empty(C, WIDTH, dtype=w.dtype, device=device) db = None if b is None else torch.empty(C, dtype=b.dtype, device=device) - workspace = cake_causal_conv1d_train_backward_workspace(S, C, device) + workspace = cake_causal_conv1d_det_train_backward_workspace(S, C, device) def step( x=x, @@ -1370,8 +1374,8 @@ def step( db=db, ws=workspace, ): - cake_causal_conv1d_train_forward(x, w, cu, bias=b, out=y) - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_forward(x, w, cu, bias=b, out=y) + cake_causal_conv1d_det_train_backward( x, w, cu, @@ -1457,7 +1461,7 @@ def record_launches(launches, values, *, device_index): # The backward issues its pair through run_modules, the forward its program through run_module. monkeypatch.setattr(pkg, "run_module", record_launch) monkeypatch.setattr(pkg, "run_modules", record_launches) - cake_causal_conv1d_train_backward(x, w, cu, dy) + cake_causal_conv1d_det_train_backward(x, w, cu, dy) arch = _arch() main = loader.selected_modules(arch, "bwd", C=C, S=S)[0] record = loader.MODULES[main] @@ -1486,7 +1490,7 @@ def record_launches(launches, values, *, device_index): with pytest.raises(ValueError, match="needs the channel count"): loader.launch_grid(reduce, device_index=device.index) launched.clear() - cake_causal_conv1d_train_forward(x, w, cu) + cake_causal_conv1d_det_train_forward(x, w, cu) assert [name for name, _, _, _ in launched] == list( loader.selected_modules(arch, "fwd", C=C, S=S) ) @@ -1537,7 +1541,7 @@ def test_backward_keeps_its_speed_beside_a_resident_side_kernel( device = _device() S, C, docs = 261393, 512, "perf" x, w, cu, dy = _inputs(S, C, docs) - workspace = cake_causal_conv1d_train_backward_workspace(S, C, device) + workspace = cake_causal_conv1d_det_train_backward_workspace(S, C, device) dx = torch.empty_like(x) dw = torch.empty(C, WIDTH, dtype=torch.float32, device=device) side = torch.cuda.Stream(device=device) @@ -1553,7 +1557,7 @@ def timed(with_side_kernel: bool) -> float: ) # one 1-thread CTA, resident for milliseconds torch.cuda._sleep(1_000_000) # let it become resident before the backward start.record() - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_backward( x, w, cu, dy, workspace=workspace, dx=dx, dweight=dw ) end.record() @@ -1585,15 +1589,15 @@ def test_zero_tokens_return_empty_outputs() -> None: w = torch.zeros(C, WIDTH, dtype=torch.float32, device=_device()) b = torch.zeros(C, dtype=torch.bfloat16, device=_device()) cu = torch.zeros(2, dtype=torch.int32, device=_device()) - y = cake_causal_conv1d_train_forward(x, w, cu) + y = cake_causal_conv1d_det_train_forward(x, w, cu) assert tuple(y.shape) == (0, C) and y.dtype == torch.bfloat16 - dx, dw = cake_causal_conv1d_train_backward(x, w, cu, x) + dx, dw = cake_causal_conv1d_det_train_backward(x, w, cu, x) assert tuple(dx.shape) == (0, C) assert torch.equal(dw, torch.zeros_like(dw)) # With a bias the empty call returns three zero gradients in the parameters' dtypes, without a launch. - y = cake_causal_conv1d_train_forward(x, w.to(torch.bfloat16), cu, bias=b) + y = cake_causal_conv1d_det_train_forward(x, w.to(torch.bfloat16), cu, bias=b) assert tuple(y.shape) == (0, C) - dx, dw, db = cake_causal_conv1d_train_backward( + dx, dw, db = cake_causal_conv1d_det_train_backward( x, w, cu, x, bias=b, silu_grad_preactivation="fp32" ) assert tuple(dx.shape) == (0, C) and dw.dtype == torch.float32 @@ -1605,7 +1609,7 @@ def test_zero_tokens_return_empty_outputs() -> None: @pytest.mark.parametrize("kind", tuple(ROUTE_SETTINGS)) def test_autograd_end_to_end(kind) -> None: - """``cake_causal_conv1d`` returns the forward's bits and its backward the fused kernel's gradients, in the + """``cake_causal_conv1d_det`` returns the forward's bits and its backward the fused kernel's gradients, in the parameters' dtypes, under every route; a non-contiguous incoming gradient is materialized.""" _require_route(kind) @@ -1614,9 +1618,9 @@ def test_autograd_end_to_end(kind) -> None: x = x0.detach().clone().requires_grad_(True) w = w0.detach().clone().requires_grad_(True) b = None if b0 is None else b0.detach().clone().requires_grad_(True) - y = cake_causal_conv1d(x, w, cu, b, silu_grad_preactivation=policy) + y = cake_causal_conv1d_det(x, w, cu, b, silu_grad_preactivation=policy) assert torch.equal( - y.detach(), cake_causal_conv1d_train_forward(x0, w0, cu, bias=b0) + y.detach(), cake_causal_conv1d_det_train_forward(x0, w0, cu, bias=b0) ) y.backward(dy) dx_ref, dw_ref, db_ref = _backward(x0, w0, cu, dy, b0, policy) @@ -1627,7 +1631,7 @@ def test_autograd_end_to_end(kind) -> None: x = x0.detach().clone().requires_grad_(True) w = w0.detach().clone().requires_grad_(True) b = None if b0 is None else b0.detach().clone().requires_grad_(True) - cake_causal_conv1d(x, w, cu, b, silu_grad_preactivation=policy).backward( + cake_causal_conv1d_det(x, w, cu, b, silu_grad_preactivation=policy).backward( dy.t().contiguous().t() ) assert torch.equal(x.grad, dx_ref) and torch.equal(w.grad, dw_ref) @@ -1762,7 +1766,7 @@ def test_nan_poisoned_workspace_per_route(kind) -> None: _require_route(kind) for S, C, docs in ROUTE_CASES: x, w, cu, dy, b, policy = _route_inputs(S, C, docs, kind) - workspace = cake_causal_conv1d_train_backward_workspace(S, C, _device()) + workspace = cake_causal_conv1d_det_train_backward_workspace(S, C, _device()) workspace.view(torch.float32).fill_(float("nan")) _check( S, C, docs, x=x, w=w, cu=cu, dy=dy, b=b, policy=policy, workspace=workspace @@ -1805,8 +1809,8 @@ def test_dt_route_with_f32_taps_matches_default_route_bitwise(case) -> None: S, C, docs = case arch, device = _arch(), _device() x, w, cu, dy = _inputs(S, C, docs) - dx, dw = cake_causal_conv1d_train_backward(x, w, cu, dy) - dx_dt, dw_dt = cake_causal_conv1d_train_backward( + dx, dw = cake_causal_conv1d_det_train_backward(x, w, cu, dy) + dx_dt, dw_dt = cake_causal_conv1d_det_train_backward( x, w, cu, dy, dweight=torch.empty(C, WIDTH, dtype=BF16, device=device) ) assert dw_dt.dtype == BF16 @@ -1902,8 +1906,8 @@ def capacity_key(owner): ] assert list(owners) == expected_owners for C in (128, 136, 1280, 8192): - small = cake_causal_conv1d_train_backward_workspace_bytes(1, C, device) - large = cake_causal_conv1d_train_backward_workspace_bytes(262401, C, device) + small = cake_causal_conv1d_det_train_backward_workspace_bytes(1, C, device) + large = cake_causal_conv1d_det_train_backward_workspace_bytes(262401, C, device) assert small == large > 0, "the workspace is independent of S" layout = loader.workspace_layout(record, C, device_index=device.index) _, _, n_ch_tiles = loader.channel_split( @@ -1951,9 +1955,10 @@ def capacity_key(owner): loader.launch_grid(selected, device_index=device.index)[0], n_ch_tiles, ) - assert loader.partial_bytes( - selected, C, rows - ) <= cake_causal_conv1d_train_backward_workspace_bytes(1, C, device), ( + capacity = cake_causal_conv1d_det_train_backward_workspace_bytes( + 1, C, device + ) + assert loader.partial_bytes(selected, C, rows) <= capacity, ( kind, C, selected["library"], @@ -1976,16 +1981,16 @@ def capacity_key(owner): threads // (136 // vec), 1, ) - workspace = cake_causal_conv1d_train_backward_workspace(65536, 512, device) + workspace = cake_causal_conv1d_det_train_backward_workspace(65536, 512, device) assert ( workspace.dtype == torch.uint8 and workspace.numel() - == cake_causal_conv1d_train_backward_workspace_bytes(1, 512, device) + == cake_causal_conv1d_det_train_backward_workspace_bytes(1, 512, device) ) with pytest.raises(ValueError): - cake_causal_conv1d_train_backward_workspace_bytes(-1, 512, device) + cake_causal_conv1d_det_train_backward_workspace_bytes(-1, 512, device) with pytest.raises(ValueError): - cake_causal_conv1d_train_backward_workspace_bytes(1, 130, device) + cake_causal_conv1d_det_train_backward_workspace_bytes(1, 130, device) # Forward workspace rows: whole-row and multi-sub-tile tiles, the forward's fallback tiles (1344, 1600), a @@ -2032,17 +2037,17 @@ def test_forward_workspace_bytes() -> None: for C in (8, 128, 136, 1024, 1160, 1280, 1344, 1600, 2560, 3200, 8192): tiles = _forward_tiles(C) assert loader.forward_workspace_words(arch, C) == 2 * tiles, C - small = cake_causal_conv1d_train_forward_workspace_bytes(1, C, device) - large = cake_causal_conv1d_train_forward_workspace_bytes(262401, C, device) + small = cake_causal_conv1d_det_train_forward_workspace_bytes(1, C, device) + large = cake_causal_conv1d_det_train_forward_workspace_bytes(262401, C, device) assert small == large == 4 * 2 * tiles, C - workspace = cake_causal_conv1d_train_forward_workspace(65536, 2560, device) + workspace = cake_causal_conv1d_det_train_forward_workspace(65536, 2560, device) assert workspace.dtype == torch.int32 and workspace.device == device assert workspace.numel() == 2 * _forward_tiles(2560) and workspace.is_contiguous() assert int(torch.count_nonzero(workspace)) == 0 with pytest.raises(ValueError): - cake_causal_conv1d_train_forward_workspace_bytes(-1, 512, device) + cake_causal_conv1d_det_train_forward_workspace_bytes(-1, 512, device) with pytest.raises(ValueError): - cake_causal_conv1d_train_forward_workspace_bytes(1, 130, device) + cake_causal_conv1d_det_train_forward_workspace_bytes(1, 130, device) def test_forward_reuses_one_workspace_over_calls_and_routes() -> None: @@ -2050,11 +2055,11 @@ def test_forward_reuses_one_workspace_over_calls_and_routes() -> None: leaves the counters zero, and ``y`` is within the reference and bitwise the call without a workspace.""" device = _device() - workspace = cake_causal_conv1d_train_forward_workspace( + workspace = cake_causal_conv1d_det_train_forward_workspace( 1, max( FORWARD_WORKSPACE_CASES, - key=lambda case: cake_causal_conv1d_train_forward_workspace_bytes( + key=lambda case: cake_causal_conv1d_det_train_forward_workspace_bytes( 1, case[1], device ), )[1], @@ -2075,13 +2080,14 @@ def test_forward_reuses_one_workspace_over_calls_and_routes() -> None: for repeat in range(3): for kind, S, C, x, w, cu, b, expected in problems: label = f"repeat {repeat} {kind} S={S} C={C}" - y = cake_causal_conv1d_train_forward(x, w, cu, bias=b, workspace=workspace) + y = cake_causal_conv1d_det_train_forward( + x, w, cu, bias=b, workspace=workspace + ) torch.cuda.synchronize(device) assert int(torch.count_nonzero(workspace)) == 0, label _assert_within(y, expected, atol=Y_ATOL, rtol=Y_RTOL, label=f"y {label}") - assert torch.equal(y, cake_causal_conv1d_train_forward(x, w, cu, bias=b)), ( - label - ) + again = cake_causal_conv1d_det_train_forward(x, w, cu, bias=b) + assert torch.equal(y, again), label def test_forward_on_two_streams_with_two_workspaces() -> None: @@ -2091,12 +2097,12 @@ def test_forward_on_two_streams_with_two_workspaces() -> None: device = _device() S, C, docs = 131072, 1280, "perf" x, w, cu, _ = _inputs(S, C, docs, key=17) - expected = cake_causal_conv1d_train_forward(x, w, cu) + expected = cake_causal_conv1d_det_train_forward(x, w, cu) torch.cuda.synchronize(device) streams = [torch.cuda.Stream(device=device) for _ in range(2)] assert streams[0].cuda_stream != streams[1].cuda_stream workspaces = [ - cake_causal_conv1d_train_forward_workspace(S, C, device) for _ in streams + cake_causal_conv1d_det_train_forward_workspace(S, C, device) for _ in streams ] calls = 6 for owned in (True, False): @@ -2106,7 +2112,7 @@ def test_forward_on_two_streams_with_two_workspaces() -> None: for i in range(calls): for s, stream in enumerate(streams): with torch.cuda.stream(stream): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, @@ -2148,18 +2154,18 @@ def test_forward_workspace_cache_per_device_and_stream() -> None: stream.wait_stream(torch.cuda.current_stream(device)) other.wait_stream(torch.cuda.current_stream(device)) with torch.cuda.stream(stream): - y1 = cake_causal_conv1d_train_forward(*small) + y1 = cake_causal_conv1d_det_train_forward(*small) first = cache[key] assert first.dtype == torch.int32 and first.numel() == 2 * _forward_tiles(512) - y2 = cake_causal_conv1d_train_forward(*small) + y2 = cake_causal_conv1d_det_train_forward(*small) assert cache[key] is first - y3 = cake_causal_conv1d_train_forward(*large) + y3 = cake_causal_conv1d_det_train_forward(*large) grown = cache[key] assert grown is not first and grown.numel() == 2 * _forward_tiles(2560) - y4 = cake_causal_conv1d_train_forward(*small) + y4 = cake_causal_conv1d_det_train_forward(*small) assert cache[key] is grown with torch.cuda.stream(other): - y5 = cake_causal_conv1d_train_forward(*small) + y5 = cake_causal_conv1d_det_train_forward(*small) torch.cuda.synchronize(device) assert cache[other_key].data_ptr() != cache[key].data_ptr() assert int(torch.count_nonzero(cache[key])) == 0 @@ -2184,26 +2190,26 @@ def test_forward_cuda_graph_with_and_without_workspace() -> None: _require_route(settings) S, C, docs = 4097, 1344, (1000, 0, 3, 3094) x, w, cu, _, b, _ = _route_inputs(S, C, docs, settings, key=23) - eager = cake_causal_conv1d_train_forward(x, w, cu, bias=b) - workspace = cake_causal_conv1d_train_forward_workspace(S, C, device) + eager = cake_causal_conv1d_det_train_forward(x, w, cu, bias=b) + workspace = cake_causal_conv1d_det_train_forward_workspace(S, C, device) y_owned, y_own_buffer = torch.empty_like(x), torch.empty_like(x) side = torch.cuda.Stream(device=device) side.wait_stream(torch.cuda.current_stream(device)) with torch.cuda.stream(side): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, bias=b, out=y_owned, workspace=workspace ) - cake_causal_conv1d_train_forward(x, w, cu, bias=b, out=y_own_buffer) + cake_causal_conv1d_det_train_forward(x, w, cu, bias=b, out=y_own_buffer) torch.cuda.current_stream(device).wait_stream(side) torch.cuda.synchronize(device) before = {key: held.data_ptr() for key, held in cache.items()} owned, own_buffer = torch.cuda.CUDAGraph(), torch.cuda.CUDAGraph() with torch.cuda.graph(owned, stream=side): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, bias=b, out=y_owned, workspace=workspace ) with torch.cuda.graph(own_buffer, stream=side): - cake_causal_conv1d_train_forward(x, w, cu, bias=b, out=y_own_buffer) + cake_causal_conv1d_det_train_forward(x, w, cu, bias=b, out=y_own_buffer) assert {key: held.data_ptr() for key, held in cache.items()} == before, kind for replay in range(GRAPH_REPLAYS): y_owned.fill_(float("nan")) @@ -2232,34 +2238,34 @@ def test_forward_cuda_graph_with_and_without_workspace() -> None: def test_forward_workspace_validation() -> None: S, C = 4097, 1280 x, w, cu, _ = _inputs(S, C, (1000, 0, 3, 3094)) - words = cake_causal_conv1d_train_forward_workspace_bytes(S, C, _device()) // 4 + words = cake_causal_conv1d_det_train_forward_workspace_bytes(S, C, _device()) // 4 with pytest.raises(ValueError, match="workspace holds"): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, workspace=torch.zeros(words - 1, dtype=torch.int32, device=_device()), ) with pytest.raises(ValueError, match="torch.int32"): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, workspace=torch.zeros(4 * words, dtype=torch.uint8, device=_device()), ) with pytest.raises(ValueError, match="1-D"): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, workspace=torch.zeros(1, words, dtype=torch.int32, device=_device()), ) with pytest.raises(ValueError, match="must live on"): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, workspace=torch.zeros(words, dtype=torch.int32) ) with pytest.raises(TypeError): - cake_causal_conv1d_train_forward(x, w, cu, workspace=[0] * words) + cake_causal_conv1d_det_train_forward(x, w, cu, workspace=[0] * words) def test_argument_validation() -> None: @@ -2267,41 +2273,41 @@ def test_argument_validation() -> None: x, w, cu, dy = _inputs(S, C, None) b = _bias_input(C, F32) with pytest.raises(ValueError, match="multiple of 8"): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x[:, :130].contiguous(), w[:130].contiguous(), cu ) with pytest.raises(ValueError, match="width-4"): - cake_causal_conv1d_train_forward(x, w[:, :3].contiguous(), cu) + cake_causal_conv1d_det_train_forward(x, w[:, :3].contiguous(), cu) with pytest.raises(ValueError, match="width-4"): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, torch.cat([w, w[:, :1]], dim=1).contiguous(), cu ) with pytest.raises(ValueError, match="one row per channel"): - cake_causal_conv1d_train_forward(x, w[: C // 2].contiguous(), cu) + cake_causal_conv1d_det_train_forward(x, w[: C // 2].contiguous(), cu) with pytest.raises(ValueError, match="torch.int32"): - cake_causal_conv1d_train_forward(x, w, cu.long()) + cake_causal_conv1d_det_train_forward(x, w, cu.long()) with pytest.raises(ValueError, match="cu_seqlens"): - cake_causal_conv1d_train_forward(x, w, cu[:1]) + cake_causal_conv1d_det_train_forward(x, w, cu[:1]) with pytest.raises(ValueError, match="shape"): - cake_causal_conv1d_train_backward(x, w, cu, dy[: S - 1]) + cake_causal_conv1d_det_train_backward(x, w, cu, dy[: S - 1]) with pytest.raises(ValueError, match="contiguous"): - cake_causal_conv1d_train_forward(x.t().contiguous().t(), w, cu) + cake_causal_conv1d_det_train_forward(x.t().contiguous().t(), w, cu) with pytest.raises(ValueError, match="torch.bfloat16"): - cake_causal_conv1d_train_forward(x.float(), w, cu) + cake_causal_conv1d_det_train_forward(x.float(), w, cu) # Per buffer: the taps are FP32 or BF16 (the binding no longer checks the untyped tap / bias pointers, # so the host is the only guard), as are the bias and the gradient outs; the bias is one value per channel. with pytest.raises( ValueError, match="weight must be torch.float32 or torch.bfloat16" ): - cake_causal_conv1d_train_forward(x, w.half(), cu) + cake_causal_conv1d_det_train_forward(x, w.half(), cu) with pytest.raises( ValueError, match="weight must be torch.float32 or torch.bfloat16" ): - cake_causal_conv1d_train_backward(x, w.half(), cu, dy) + cake_causal_conv1d_det_train_backward(x, w.half(), cu, dy) with pytest.raises( ValueError, match="dweight must be torch.float32 or torch.bfloat16" ): - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_backward( x, w, cu, @@ -2311,21 +2317,21 @@ def test_argument_validation() -> None: with pytest.raises( ValueError, match="bias must be torch.float32 or torch.bfloat16" ): - cake_causal_conv1d_train_forward(x, w, cu, bias=b.half()) + cake_causal_conv1d_det_train_forward(x, w, cu, bias=b.half()) with pytest.raises( ValueError, match="bias must be torch.float32 or torch.bfloat16" ): - cake_causal_conv1d_train_backward(x, w, cu, dy, bias=b.half()) + cake_causal_conv1d_det_train_backward(x, w, cu, dy, bias=b.half()) with pytest.raises(ValueError, match=r"bias must be a \[C\]"): - cake_causal_conv1d_train_forward(x, w, cu, bias=b[: C // 2].contiguous()) + cake_causal_conv1d_det_train_forward(x, w, cu, bias=b[: C // 2].contiguous()) with pytest.raises(ValueError, match=r"bias must be a \[C\]"): - cake_causal_conv1d_train_forward(x, w, cu, bias=w[:, :1].contiguous()) + cake_causal_conv1d_det_train_forward(x, w, cu, bias=w[:, :1].contiguous()) with pytest.raises(ValueError, match="contiguous"): - cake_causal_conv1d_train_forward(x, w, cu, bias=w[:, 0]) + cake_causal_conv1d_det_train_forward(x, w, cu, bias=w[:, 0]) with pytest.raises( ValueError, match="dbias must be torch.float32 or torch.bfloat16" ): - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_backward( x, w, cu, @@ -2334,21 +2340,23 @@ def test_argument_validation() -> None: dbias=torch.empty(C, dtype=torch.float16, device=_device()), ) with pytest.raises(ValueError, match="dbias must have shape"): - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_backward( x, w, cu, dy, bias=b, dbias=torch.empty(C + 8, dtype=F32, device=_device()) ) with pytest.raises(ValueError, match="dbias"): - cake_causal_conv1d_train_backward(x, w, cu, dy, dbias=torch.empty_like(b)) + cake_causal_conv1d_det_train_backward(x, w, cu, dy, dbias=torch.empty_like(b)) with pytest.raises(ValueError, match="silu_grad_preactivation"): - cake_causal_conv1d_train_backward(x, w, cu, dy, silu_grad_preactivation="fp16") + cake_causal_conv1d_det_train_backward( + x, w, cu, dy, silu_grad_preactivation="fp16" + ) with pytest.raises(ValueError, match="silu_grad_preactivation"): - cake_causal_conv1d(x, w, cu, silu_grad_preactivation="bf32") + cake_causal_conv1d_det(x, w, cu, silu_grad_preactivation="bf32") with pytest.raises(ValueError, match="shape"): - cake_causal_conv1d_train_forward( + cake_causal_conv1d_det_train_forward( x, w, cu, out=torch.empty(S + 1, C, dtype=torch.bfloat16, device=_device()) ) with pytest.raises(ValueError, match="contiguous"): - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_backward( x, w, cu, @@ -2356,13 +2364,13 @@ def test_argument_validation() -> None: dx=torch.empty(C, S, dtype=torch.bfloat16, device=_device()).t(), ) with pytest.raises(ValueError, match="workspace holds"): - cake_causal_conv1d_train_backward( + cake_causal_conv1d_det_train_backward( x, w, cu, dy, workspace=torch.empty(16, dtype=torch.uint8, device=_device()) ) with pytest.raises(ValueError, match="CUDA"): - cake_causal_conv1d_train_forward(x.cpu(), w.cpu(), cu.cpu()) + cake_causal_conv1d_det_train_forward(x.cpu(), w.cpu(), cu.cpu()) with pytest.raises(TypeError): - cake_causal_conv1d_train_forward(x, w, [0, S]) + cake_causal_conv1d_det_train_forward(x, w, [0, S]) def test_every_route_ships_on_every_architecture() -> None: @@ -2396,7 +2404,7 @@ def test_registry_records_reference_the_build_manifest() -> None: assert manifest["schema"] == "cake-build/1" # The manifest names the package by its FlashInfer import path, also in a copy # vendored under another name (``pkg.__name__`` is then the copy's). - assert manifest["package"] == "flashinfer.cake_causal_conv1d_train_backend" + assert manifest["package"] == "flashinfer.cake_causal_conv1d_det_train_backend" libraries = cake_build.libraries_by_name() package = Path(cake_build.__file__).parent referenced = set() diff --git a/tests/norm/test_cake_causal_conv1d_train_api.py b/tests/norm/test_cake_causal_conv1d_det_train_api.py similarity index 57% rename from tests/norm/test_cake_causal_conv1d_train_api.py rename to tests/norm/test_cake_causal_conv1d_det_train_api.py index efc5d9e3911..484739bafb8 100644 --- a/tests/norm/test_cake_causal_conv1d_train_api.py +++ b/tests/norm/test_cake_causal_conv1d_det_train_api.py @@ -15,12 +15,12 @@ Tests of the flashinfer public surface of the Cake packed width-4 depthwise causal convolution + SiLU training kernels (SM100 / SM103 / SM107): the -``flashinfer.cake_causal_conv1d_train`` facade and its re-export from the +``flashinfer.cake_causal_conv1d_det_train`` facade and its re-export from the ``flashinfer`` top-level package. The facade's three entry points are -pass-throughs to ``flashinfer.cake_causal_conv1d_train_backend``; this module +pass-throughs to ``flashinfer.cake_causal_conv1d_det_train_backend``; this module checks that identity (same objects at the top level, the backend's exact signatures, same bits as the backend) and leaves the numerical contract to -``test_cake_causal_conv1d_train.py``, which imports only the backend package. +``test_cake_causal_conv1d_det_train.py``, which imports only the backend package. """ from __future__ import annotations @@ -31,19 +31,19 @@ import torch import flashinfer -import flashinfer.cake_causal_conv1d_train -import flashinfer.cake_causal_conv1d_train_backend as backend -from flashinfer.cake_causal_conv1d_train import ( - CakeCausalConv1dFunction, - cake_causal_conv1d, - cake_causal_conv1d_train_backward, - cake_causal_conv1d_train_backward_workspace_bytes, - cake_causal_conv1d_train_forward, - cake_causal_conv1d_train_forward_workspace, - cake_causal_conv1d_train_forward_workspace_bytes, - is_cake_causal_conv1d_train_supported, +import flashinfer.cake_causal_conv1d_det_train +import flashinfer.cake_causal_conv1d_det_train_backend as backend +from flashinfer.cake_causal_conv1d_det_train import ( + CakeCausalConv1dDetFunction, + cake_causal_conv1d_det, + cake_causal_conv1d_det_train_backward, + cake_causal_conv1d_det_train_backward_workspace_bytes, + cake_causal_conv1d_det_train_forward, + cake_causal_conv1d_det_train_forward_workspace, + cake_causal_conv1d_det_train_forward_workspace_bytes, + is_cake_causal_conv1d_det_train_supported, ) -from flashinfer.cake_causal_conv1d_train_backend import cake_jit as loader +from flashinfer.cake_causal_conv1d_det_train_backend import cake_jit as loader from flashinfer.jit.env import has_flashinfer_jit_cache from flashinfer.utils import get_compute_capability @@ -59,13 +59,13 @@ def _supported() -> bool: return ( torch.cuda.is_available() and get_compute_capability(_device()) in SUPPORTED_CAPABILITIES - and is_cake_causal_conv1d_train_supported(_device()) + and is_cake_causal_conv1d_det_train_supported(_device()) ) pytestmark = pytest.mark.skipif( not _supported(), - reason="cake_causal_conv1d_train needs an SM100 / SM103 / SM107 device with exported routes", + reason="cake_causal_conv1d_det_train needs an SM100 / SM103 / SM107 device with exported routes", ) @@ -78,28 +78,29 @@ def warmup_jit(): def test_function_signature_is_exported() -> None: - assert flashinfer.cake_causal_conv1d is cake_causal_conv1d + assert flashinfer.cake_causal_conv1d_det is cake_causal_conv1d_det assert ( - flashinfer.cake_causal_conv1d_train_forward is cake_causal_conv1d_train_forward + flashinfer.cake_causal_conv1d_det_train_forward + is cake_causal_conv1d_det_train_forward ) assert ( - flashinfer.cake_causal_conv1d_train_backward - is cake_causal_conv1d_train_backward + flashinfer.cake_causal_conv1d_det_train_backward + is cake_causal_conv1d_det_train_backward ) assert ( - flashinfer.cake_causal_conv1d_train_backward_workspace_bytes - is cake_causal_conv1d_train_backward_workspace_bytes + flashinfer.cake_causal_conv1d_det_train_backward_workspace_bytes + is cake_causal_conv1d_det_train_backward_workspace_bytes ) assert ( - flashinfer.cake_causal_conv1d_train_forward_workspace_bytes - is cake_causal_conv1d_train_forward_workspace_bytes - is backend.cake_causal_conv1d_train_forward_workspace_bytes + flashinfer.cake_causal_conv1d_det_train_forward_workspace_bytes + is cake_causal_conv1d_det_train_forward_workspace_bytes + is backend.cake_causal_conv1d_det_train_forward_workspace_bytes ) assert ( - cake_causal_conv1d_train_forward_workspace - is backend.cake_causal_conv1d_train_forward_workspace + cake_causal_conv1d_det_train_forward_workspace + is backend.cake_causal_conv1d_det_train_forward_workspace ) - assert flashinfer.CakeCausalConv1dFunction is CakeCausalConv1dFunction + assert flashinfer.CakeCausalConv1dDetFunction is CakeCausalConv1dDetFunction def test_facade_signatures_mirror_the_backend() -> None: @@ -107,19 +108,21 @@ def test_facade_signatures_mirror_the_backend() -> None: spelled identically on the ``@flashinfer_api`` facade, which public-API tooling reads.""" for name in ( - "cake_causal_conv1d_train_forward", - "cake_causal_conv1d_train_backward", - "cake_causal_conv1d", + "cake_causal_conv1d_det_train_forward", + "cake_causal_conv1d_det_train_backward", + "cake_causal_conv1d_det", ): - facade = inspect.signature(getattr(flashinfer.cake_causal_conv1d_train, name)) + facade = inspect.signature( + getattr(flashinfer.cake_causal_conv1d_det_train, name) + ) backend_signature = inspect.signature(getattr(backend, name)) assert facade == backend_signature, (name, facade, backend_signature) - backward = inspect.signature(cake_causal_conv1d_train_backward).parameters + backward = inspect.signature(cake_causal_conv1d_det_train_backward).parameters assert backward["bias"].default is None assert backward["silu_grad_preactivation"].default == "bf16" assert backward["dbias"].default is None assert backward["bias"].kind is inspect.Parameter.KEYWORD_ONLY - autograd = inspect.signature(cake_causal_conv1d).parameters + autograd = inspect.signature(cake_causal_conv1d_det).parameters assert autograd["bias"].kind is inspect.Parameter.POSITIONAL_OR_KEYWORD assert autograd["silu_grad_preactivation"].kind is inspect.Parameter.KEYWORD_ONLY assert backend.SILU_GRAD_PREACTIVATIONS == ("bf16", "fp32") @@ -141,16 +144,16 @@ def test_facade_entry_points_match_the_backend() -> None: C, 4, dtype=torch.float32, device=_device(), generator=generator ) cu = torch.tensor([0, 369, 659, 868, S], dtype=torch.int32, device=_device()) - y = cake_causal_conv1d_train_forward(x, w, cu) - assert torch.equal(y, backend.cake_causal_conv1d_train_forward(x, w, cu)) - workspace = cake_causal_conv1d_train_forward_workspace(S, C, _device()) + y = cake_causal_conv1d_det_train_forward(x, w, cu) + assert torch.equal(y, backend.cake_causal_conv1d_det_train_forward(x, w, cu)) + workspace = cake_causal_conv1d_det_train_forward_workspace(S, C, _device()) assert torch.equal( - y, cake_causal_conv1d_train_forward(x, w, cu, workspace=workspace) + y, cake_causal_conv1d_det_train_forward(x, w, cu, workspace=workspace) ) assert int(torch.count_nonzero(workspace)) == 0 - dx, dw = cake_causal_conv1d_train_backward(x, w, cu, dy) - dx_backend, dw_backend = backend.cake_causal_conv1d_train_backward(x, w, cu, dy) + dx, dw = cake_causal_conv1d_det_train_backward(x, w, cu, dy) + dx_backend, dw_backend = backend.cake_causal_conv1d_det_train_backward(x, w, cu, dy) assert torch.equal(dx, dx_backend) and torch.equal(dw, dw_backend) assert torch.equal( - cake_causal_conv1d(x, w, cu), backend.cake_causal_conv1d(x, w, cu) + cake_causal_conv1d_det(x, w, cu), backend.cake_causal_conv1d_det(x, w, cu) ) diff --git a/tests/test_helpers/cake_package.py b/tests/test_helpers/cake_package.py index 93e2f696e53..b124abaaee6 100644 --- a/tests/test_helpers/cake_package.py +++ b/tests/test_helpers/cake_package.py @@ -15,7 +15,7 @@ # suite / package name -> import path of the package PACKAGES: dict[str, str] = { "cake_rmsnorm_det_train": "flashinfer.cake_rmsnorm_det_train_backend", - "cake_causal_conv1d_train": "flashinfer.cake_causal_conv1d_train_backend", + "cake_causal_conv1d_det_train": "flashinfer.cake_causal_conv1d_det_train_backend", "cake_gated_act_mxfp8": "flashinfer.cake_gated_act_mxfp8_backend", "cake_rmsnorm_silu_gate_det_train": "flashinfer.cake_rmsnorm_silu_gate_det_train_backend", "cake_ulysses": "flashinfer.cake_ulysses_backend", @@ -45,6 +45,8 @@ "cake_gdn_det_train": "flashinfer.experimental.cake_gdn_det_train", "cake_gqa_train": "flashinfer.experimental.cake_gqa_train", } +# Compatibility key: suites that name the causal conv1d package ``cake_causal_conv1d_train`` load the det package. +PACKAGES["cake_causal_conv1d_train"] = PACKAGES["cake_causal_conv1d_det_train"] def cake_package(name: str, submodule: str | None = None) -> ModuleType: From 23f498310883a6929e216e93cffa4db5b1317499 Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 04:39:54 -0700 Subject: [PATCH 03/10] feat(causal_conv1d): compatibility imports for the previous module paths flashinfer.cake_causal_conv1d_train is the det facade's module object. flashinfer.cake_causal_conv1d_train_backend resolves its attributes on the det backend package at first access. Its cake_build, cake_jit, kcp and kcp_jit submodules are the det package's module objects, so the registries and the workspace caches exist once. The compatibility package holds no sources and no manifest, and importing it does not import the KCP host module. tests/norm/test_cake_causal_conv1d_det_train_aliases.py checks the identity of every compatibility name in its own namespace, the module identity of the compatibility imports, and that no import form loads kcp or kcp_jit under either path. Co-Authored-By: Claude --- flashinfer/cake_causal_conv1d_train.py | 7 + .../__init__.py | 15 ++ .../cake_build.py | 9 + .../cake_jit.py | 9 + .../cake_causal_conv1d_train_backend/kcp.py | 9 + .../kcp_jit.py | 9 + ...st_cake_causal_conv1d_det_train_aliases.py | 198 ++++++++++++++++++ 7 files changed, 256 insertions(+) create mode 100644 flashinfer/cake_causal_conv1d_train.py create mode 100644 flashinfer/cake_causal_conv1d_train_backend/__init__.py create mode 100644 flashinfer/cake_causal_conv1d_train_backend/cake_build.py create mode 100644 flashinfer/cake_causal_conv1d_train_backend/cake_jit.py create mode 100644 flashinfer/cake_causal_conv1d_train_backend/kcp.py create mode 100644 flashinfer/cake_causal_conv1d_train_backend/kcp_jit.py create mode 100644 tests/norm/test_cake_causal_conv1d_det_train_aliases.py diff --git a/flashinfer/cake_causal_conv1d_train.py b/flashinfer/cake_causal_conv1d_train.py new file mode 100644 index 00000000000..b84805fe269 --- /dev/null +++ b/flashinfer/cake_causal_conv1d_train.py @@ -0,0 +1,7 @@ +# Copyright (c) 2026 by FlashInfer team. Licensed under Apache-2.0. +"""Compatibility import for flashinfer.cake_causal_conv1d_det_train (the same module object).""" + +from importlib import import_module +import sys + +sys.modules[__name__] = import_module("flashinfer.cake_causal_conv1d_det_train") diff --git a/flashinfer/cake_causal_conv1d_train_backend/__init__.py b/flashinfer/cake_causal_conv1d_train_backend/__init__.py new file mode 100644 index 00000000000..e932bc99f55 --- /dev/null +++ b/flashinfer/cake_causal_conv1d_train_backend/__init__.py @@ -0,0 +1,15 @@ +# Copyright (c) 2026 by FlashInfer team. Licensed under Apache-2.0. +"""Compatibility import for flashinfer.cake_causal_conv1d_det_train_backend. + +An attribute of this package resolves on the det package at first access, and the submodules ``cake_build``, +``cake_jit``, ``kcp`` and ``kcp_jit`` are the det package's module objects. Importing this package imports +nothing else: the KCP host module loads only when ``kcp`` is imported. +""" + +from importlib import import_module + + +def __getattr__(name): + return getattr( + import_module("flashinfer.cake_causal_conv1d_det_train_backend"), name + ) diff --git a/flashinfer/cake_causal_conv1d_train_backend/cake_build.py b/flashinfer/cake_causal_conv1d_train_backend/cake_build.py new file mode 100644 index 00000000000..a8108e9202e --- /dev/null +++ b/flashinfer/cake_causal_conv1d_train_backend/cake_build.py @@ -0,0 +1,9 @@ +# Copyright (c) 2026 by FlashInfer team. Licensed under Apache-2.0. +"""Compatibility import for flashinfer.cake_causal_conv1d_det_train_backend.cake_build (the same module object).""" + +from importlib import import_module +import sys + +sys.modules[__name__] = import_module( + "flashinfer.cake_causal_conv1d_det_train_backend.cake_build" +) diff --git a/flashinfer/cake_causal_conv1d_train_backend/cake_jit.py b/flashinfer/cake_causal_conv1d_train_backend/cake_jit.py new file mode 100644 index 00000000000..7f8569cf8d0 --- /dev/null +++ b/flashinfer/cake_causal_conv1d_train_backend/cake_jit.py @@ -0,0 +1,9 @@ +# Copyright (c) 2026 by FlashInfer team. Licensed under Apache-2.0. +"""Compatibility import for flashinfer.cake_causal_conv1d_det_train_backend.cake_jit (the same module object).""" + +from importlib import import_module +import sys + +sys.modules[__name__] = import_module( + "flashinfer.cake_causal_conv1d_det_train_backend.cake_jit" +) diff --git a/flashinfer/cake_causal_conv1d_train_backend/kcp.py b/flashinfer/cake_causal_conv1d_train_backend/kcp.py new file mode 100644 index 00000000000..902fda1b928 --- /dev/null +++ b/flashinfer/cake_causal_conv1d_train_backend/kcp.py @@ -0,0 +1,9 @@ +# Copyright (c) 2026 by FlashInfer team. Licensed under Apache-2.0. +"""Compatibility import for flashinfer.cake_causal_conv1d_det_train_backend.kcp (the same module object).""" + +from importlib import import_module +import sys + +sys.modules[__name__] = import_module( + "flashinfer.cake_causal_conv1d_det_train_backend.kcp" +) diff --git a/flashinfer/cake_causal_conv1d_train_backend/kcp_jit.py b/flashinfer/cake_causal_conv1d_train_backend/kcp_jit.py new file mode 100644 index 00000000000..2a7aac41048 --- /dev/null +++ b/flashinfer/cake_causal_conv1d_train_backend/kcp_jit.py @@ -0,0 +1,9 @@ +# Copyright (c) 2026 by FlashInfer team. Licensed under Apache-2.0. +"""Compatibility import for flashinfer.cake_causal_conv1d_det_train_backend.kcp_jit (the same module object).""" + +from importlib import import_module +import sys + +sys.modules[__name__] = import_module( + "flashinfer.cake_causal_conv1d_det_train_backend.kcp_jit" +) diff --git a/tests/norm/test_cake_causal_conv1d_det_train_aliases.py b/tests/norm/test_cake_causal_conv1d_det_train_aliases.py new file mode 100644 index 00000000000..6d057738467 --- /dev/null +++ b/tests/norm/test_cake_causal_conv1d_det_train_aliases.py @@ -0,0 +1,198 @@ +""" +Copyright (c) 2026 by FlashInfer team. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Compatibility names of the Cake causal conv1d + SiLU training package. + +Within each namespace (the ``flashinfer.cake_causal_conv1d_det_train`` facade, its +backend package and the ``flashinfer`` top level) every compatibility name is the +same object as its det name and stays out of ``__all__``. The module +``flashinfer.cake_causal_conv1d_train`` is the facade's module object, and the +submodules of ``flashinfer.cake_causal_conv1d_train_backend`` are the det +package's module objects. Importing either facade or either package loads no KCP +host module under either name (checked in fresh interpreters by module file, not +by name). +""" + +from __future__ import annotations + +import importlib +import subprocess +import sys +from pathlib import Path + +import pytest + +import flashinfer +import flashinfer.cake_causal_conv1d_det_train as facade +import flashinfer.cake_causal_conv1d_det_train_backend as backend + +pytestmark = pytest.mark.cpu_only + +OLD_FACADE = "flashinfer.cake_causal_conv1d_train" +NEW_FACADE = "flashinfer.cake_causal_conv1d_det_train" +OLD_PACKAGE = "flashinfer.cake_causal_conv1d_train_backend" +NEW_PACKAGE = "flashinfer.cake_causal_conv1d_det_train_backend" +SUBMODULES = ("cake_build", "cake_jit", "kcp", "kcp_jit") + +# (compatibility name, det name) of the facade and the backend package. +PAIRS = ( + ("CakeCausalConv1dFunction", "CakeCausalConv1dDetFunction"), + ("cake_causal_conv1d", "cake_causal_conv1d_det"), + ("cake_causal_conv1d_train_forward", "cake_causal_conv1d_det_train_forward"), + ("cake_causal_conv1d_train_backward", "cake_causal_conv1d_det_train_backward"), + ( + "cake_causal_conv1d_train_forward_workspace", + "cake_causal_conv1d_det_train_forward_workspace", + ), + ( + "cake_causal_conv1d_train_forward_workspace_bytes", + "cake_causal_conv1d_det_train_forward_workspace_bytes", + ), + ( + "cake_causal_conv1d_train_backward_workspace", + "cake_causal_conv1d_det_train_backward_workspace", + ), + ( + "cake_causal_conv1d_train_backward_workspace_bytes", + "cake_causal_conv1d_det_train_backward_workspace_bytes", + ), + ( + "is_cake_causal_conv1d_train_supported", + "is_cake_causal_conv1d_det_train_supported", + ), +) +NAMES = dict(PAIRS) +# The names the ``flashinfer`` top level exports. +TOP_LEVEL_NAMES = ( + "CakeCausalConv1dFunction", + "cake_causal_conv1d", + "cake_causal_conv1d_train_forward", + "cake_causal_conv1d_train_backward", + "cake_causal_conv1d_train_forward_workspace_bytes", + "cake_causal_conv1d_train_backward_workspace_bytes", +) +NAMESPACES = {"facade": facade, "backend": backend} + + +@pytest.mark.parametrize("namespace", sorted(NAMESPACES)) +@pytest.mark.parametrize("old", sorted(NAMES)) +def test_compatibility_name_is_the_det_object(namespace: str, old: str) -> None: + module = NAMESPACES[namespace] + new = NAMES[old] + assert getattr(module, old) is getattr(module, new), (namespace, old, new) + assert new in module.__all__, (namespace, new) + assert old not in module.__all__, (namespace, old) + + +@pytest.mark.parametrize("old", TOP_LEVEL_NAMES) +def test_top_level_compatibility_name_is_the_det_object(old: str) -> None: + new = NAMES[old] + assert getattr(flashinfer, old) is getattr(flashinfer, new), (old, new) + assert getattr(flashinfer, new) is getattr(facade, new), new + + +def test_det_entry_points_are_the_decorated_defs() -> None: + # One ``flashinfer_api`` wrapper per entry point: the compatibility names add none. + for old in ( + "cake_causal_conv1d", + "cake_causal_conv1d_train_forward", + "cake_causal_conv1d_train_backward", + ): + assert getattr(facade, old).__name__ == NAMES[old], old + det_class = backend.CakeCausalConv1dDetFunction + assert det_class.__name__ == "CakeCausalConv1dDetFunction" + + +def test_old_facade_is_the_det_module() -> None: + assert importlib.import_module(OLD_FACADE) is facade + assert sys.modules[OLD_FACADE] is sys.modules[NEW_FACADE] + + +@pytest.mark.parametrize("submodule", SUBMODULES) +def test_old_package_submodule_is_the_det_module(submodule: str) -> None: + old = importlib.import_module(f"{OLD_PACKAGE}.{submodule}") + new = importlib.import_module(f"{NEW_PACKAGE}.{submodule}") + assert old is new, submodule + assert sys.modules[f"{OLD_PACKAGE}.{submodule}"] is new, submodule + assert Path(new.__file__).parent == Path(backend.__file__).parent, submodule + + +def test_old_package_forwards_to_the_det_package() -> None: + old = importlib.import_module(OLD_PACKAGE) + for name in (*NAMES, *NAMES.values(), "ARCHES", "_FORWARD_WORKSPACES"): + assert getattr(old, name) is getattr(backend, name), name + assert old.__all__ == backend.__all__ + # The compatibility package holds Python shims only: no csrc, manifest or libraries. + old_dir = Path(old.__file__).parent + files = sorted(p.name for p in old_dir.iterdir() if p.name != "__pycache__") + assert files == sorted(["__init__.py", *(f"{m}.py" for m in SUBMODULES)]) + + +# Every import form of the facade and the package, each in a fresh interpreter. +IMPORTS = { + "flashinfer": "import flashinfer", + "old_facade": f"import {OLD_FACADE}", + "new_facade": f"import {NEW_FACADE}", + "old_package": f"import {OLD_PACKAGE} as p; p.{PAIRS[2][0]}", + "new_package": f"import {NEW_PACKAGE}", + "old_package_names": f"from {OLD_PACKAGE} import {PAIRS[2][1]}, cake_jit", +} + +_LAZY_CHECK = """ +import sys +from pathlib import Path + +import {new_package} as package + +kcp_files = {{(Path(package.__file__).parent / f).resolve() for f in ("kcp.py", "kcp_jit.py")}} +kcp_names = [p + "." + s for p in ({old_package!r}, {new_package!r}) for s in ("kcp", "kcp_jit")] +loaded = sorted( + name + for name, module in list(sys.modules.items()) + if name in kcp_names + or (getattr(module, "__file__", None) and Path(module.__file__).resolve() in kcp_files) +) +assert not loaded, loaded +print("KCP_NOT_LOADED") +from {old_facade} import KcpRecomputeHandle as a +from {new_facade} import KcpRecomputeHandle as b +from {old_package}.kcp import KcpRecomputeHandle as c +assert a is b is c +assert sys.modules[{old_package!r} + ".kcp"] is sys.modules[{new_package!r} + ".kcp"] +print("KCP_ALIASED") +""" + + +@pytest.mark.parametrize("form", sorted(IMPORTS)) +def test_imports_do_not_load_kcp(form: str) -> None: + code = ( + IMPORTS[form] + + "\n" + + _LAZY_CHECK.format( + old_facade=OLD_FACADE, + new_facade=NEW_FACADE, + old_package=OLD_PACKAGE, + new_package=NEW_PACKAGE, + ) + ) + r = subprocess.run( + [sys.executable, "-c", code], capture_output=True, text=True, timeout=600 + ) + assert r.returncode == 0, (form, r.stdout, r.stderr) + assert "KCP_NOT_LOADED" in r.stdout and "KCP_ALIASED" in r.stdout, ( + form, + r.stdout, + r.stderr, + ) From c2db12032e421e5a3a8ab8e40e46155727ddb1d5 Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 05:01:30 -0700 Subject: [PATCH 04/10] fix(causal_conv1d): previous module paths resolve as flashinfer attributes After a plain `import flashinfer`, `flashinfer.cake_causal_conv1d_train` and `flashinfer.cake_causal_conv1d_train_backend` resolve on first attribute access through the package `__getattr__`, as the facade and its backend package did before the det names. Neither access loads the KCP host module. The alias test checks this attribute form in a fresh interpreter. Co-Authored-By: Claude --- flashinfer/__init__.py | 9 ++++++ ...st_cake_causal_conv1d_det_train_aliases.py | 29 +++++++++++++++++-- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/flashinfer/__init__.py b/flashinfer/__init__.py index 4050caad67c..2f6d219c17b 100644 --- a/flashinfer/__init__.py +++ b/flashinfer/__init__.py @@ -171,7 +171,16 @@ ) +# Compatibility module paths of the causal conv1d facade and its backend package; each +# resolves on first attribute access and loads no KCP host module. +_COMPAT_SUBMODULES = frozenset( + {"cake_causal_conv1d_train", "cake_causal_conv1d_train_backend"} +) + + def __getattr__(name: str): + if name in _COMPAT_SUBMODULES: + return importlib.import_module(f"{__name__}.{name}") if name not in _PRIMS_TS_LAZY_EXPORTS: raise AttributeError(f"module {__name__!r} has no attribute {name!r}") from . import fused_moe as _fused_moe diff --git a/tests/norm/test_cake_causal_conv1d_det_train_aliases.py b/tests/norm/test_cake_causal_conv1d_det_train_aliases.py index 6d057738467..024c6f86990 100644 --- a/tests/norm/test_cake_causal_conv1d_det_train_aliases.py +++ b/tests/norm/test_cake_causal_conv1d_det_train_aliases.py @@ -20,9 +20,10 @@ same object as its det name and stays out of ``__all__``. The module ``flashinfer.cake_causal_conv1d_train`` is the facade's module object, and the submodules of ``flashinfer.cake_causal_conv1d_train_backend`` are the det -package's module objects. Importing either facade or either package loads no KCP -host module under either name (checked in fresh interpreters by module file, not -by name). +package's module objects. Both old module paths are also attributes of the +``flashinfer`` package after a plain ``import flashinfer``. Importing either facade +or either package, or reaching it as such an attribute, loads no KCP host module +under either name (checked in fresh interpreters by module file, not by name). """ from __future__ import annotations @@ -140,8 +141,30 @@ def test_old_package_forwards_to_the_det_package() -> None: assert files == sorted(["__init__.py", *(f"{m}.py" for m in SUBMODULES)]) +# The old module paths reached as attributes of ``flashinfer`` with no explicit import. +_ATTRIBUTE_ACCESS = """ +import sys + +import flashinfer + +old_facade = flashinfer.{old_facade} +assert old_facade is flashinfer.{new_facade} is sys.modules["flashinfer.{new_facade}"] +old_package = flashinfer.{old_package} +assert old_package is sys.modules["flashinfer.{old_package}"] +new_package = flashinfer.{new_package} +assert old_package.{old_name} is new_package.{new_name} +""" + # Every import form of the facade and the package, each in a fresh interpreter. IMPORTS = { + "flashinfer_attributes": _ATTRIBUTE_ACCESS.format( + old_facade=OLD_FACADE.rpartition(".")[2], + new_facade=NEW_FACADE.rpartition(".")[2], + old_package=OLD_PACKAGE.rpartition(".")[2], + new_package=NEW_PACKAGE.rpartition(".")[2], + old_name=PAIRS[2][0], + new_name=PAIRS[2][1], + ), "flashinfer": "import flashinfer", "old_facade": f"import {OLD_FACADE}", "new_facade": f"import {NEW_FACADE}", From eaf47add852b617931f6c569c7f6fc697ef5e64e Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 13:30:50 -0700 Subject: [PATCH 05/10] refactor(causal_conv1d): move the conv KCP tests to det_kcp paths Pure moves: the context-parallel (KCP) convolution test files take the cake_causal_conv1d_det_train_kcp names. The next commit renames the contents and keeps the previous names as aliases. Co-Authored-By: Claude --- ...cp_build.py => test_cake_causal_conv1d_det_train_kcp_build.py} | 0 ...cp_knobs.py => test_cake_causal_conv1d_det_train_kcp_knobs.py} | 0 ...nv1d_train_kcp.py => test_cake_causal_conv1d_det_train_kcp.py} | 0 ..._kcp_dist.py => test_cake_causal_conv1d_det_train_kcp_dist.py} | 0 ...cp_multi.py => test_cake_causal_conv1d_det_train_kcp_multi.py} | 0 ...ist.py => test_cake_causal_conv1d_det_train_kcp_multi_dist.py} | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename tests/cpu/{test_cake_causal_conv1d_train_kcp_build.py => test_cake_causal_conv1d_det_train_kcp_build.py} (100%) rename tests/cpu/{test_cake_causal_conv1d_train_kcp_knobs.py => test_cake_causal_conv1d_det_train_kcp_knobs.py} (100%) rename tests/{test_cake_causal_conv1d_train_kcp.py => test_cake_causal_conv1d_det_train_kcp.py} (100%) rename tests/{test_cake_causal_conv1d_train_kcp_dist.py => test_cake_causal_conv1d_det_train_kcp_dist.py} (100%) rename tests/{test_cake_causal_conv1d_train_kcp_multi.py => test_cake_causal_conv1d_det_train_kcp_multi.py} (100%) rename tests/{test_cake_causal_conv1d_train_kcp_multi_dist.py => test_cake_causal_conv1d_det_train_kcp_multi_dist.py} (100%) diff --git a/tests/cpu/test_cake_causal_conv1d_train_kcp_build.py b/tests/cpu/test_cake_causal_conv1d_det_train_kcp_build.py similarity index 100% rename from tests/cpu/test_cake_causal_conv1d_train_kcp_build.py rename to tests/cpu/test_cake_causal_conv1d_det_train_kcp_build.py diff --git a/tests/cpu/test_cake_causal_conv1d_train_kcp_knobs.py b/tests/cpu/test_cake_causal_conv1d_det_train_kcp_knobs.py similarity index 100% rename from tests/cpu/test_cake_causal_conv1d_train_kcp_knobs.py rename to tests/cpu/test_cake_causal_conv1d_det_train_kcp_knobs.py diff --git a/tests/test_cake_causal_conv1d_train_kcp.py b/tests/test_cake_causal_conv1d_det_train_kcp.py similarity index 100% rename from tests/test_cake_causal_conv1d_train_kcp.py rename to tests/test_cake_causal_conv1d_det_train_kcp.py diff --git a/tests/test_cake_causal_conv1d_train_kcp_dist.py b/tests/test_cake_causal_conv1d_det_train_kcp_dist.py similarity index 100% rename from tests/test_cake_causal_conv1d_train_kcp_dist.py rename to tests/test_cake_causal_conv1d_det_train_kcp_dist.py diff --git a/tests/test_cake_causal_conv1d_train_kcp_multi.py b/tests/test_cake_causal_conv1d_det_train_kcp_multi.py similarity index 100% rename from tests/test_cake_causal_conv1d_train_kcp_multi.py rename to tests/test_cake_causal_conv1d_det_train_kcp_multi.py diff --git a/tests/test_cake_causal_conv1d_train_kcp_multi_dist.py b/tests/test_cake_causal_conv1d_det_train_kcp_multi_dist.py similarity index 100% rename from tests/test_cake_causal_conv1d_train_kcp_multi_dist.py rename to tests/test_cake_causal_conv1d_det_train_kcp_multi_dist.py From 2d0b25692101598fc52b0898268813f4aa4f62ff Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 13:34:16 -0700 Subject: [PATCH 06/10] refactor(causal_conv1d): det_kcp names for the context-parallel convolution entry points The context-parallel (KCP) convolution takes deterministic KCP names, as the GDN package did (#8022): cake_causal_conv1d_kcp -> cake_causal_conv1d_det_kcp cake_causal_conv1d_kcp_multi -> cake_causal_conv1d_det_multi_kcp cake_causal_conv1d_kcp_forward -> cake_causal_conv1d_det_forward_kcp cake_causal_conv1d_kcp_backward -> cake_causal_conv1d_det_backward_kcp cake_causal_conv1d_kcp_multi_forward -> cake_causal_conv1d_det_multi_forward_kcp cake_causal_conv1d_kcp_multi_backward -> cake_causal_conv1d_det_multi_backward_kcp CakeCausalConv1dKcpFunction -> CakeCausalConv1dDetFunctionKcp CakeCausalConv1dKcpMultiFunction -> CakeCausalConv1dDetMultiFunctionKcp KcpRecomputeHandle -> RecomputeHandleDetKcp The public entry points move to the new module flashinfer.cake_causal_conv1d_det_train_kcp. The previous names stay bound to the same objects: in the backend's kcp module, and in flashinfer.cake_causal_conv1d_det_train (the two entry points and the lazily resolved handle). The conv handle stays its own class. The KCP tests import the det paths; the two lazy-import tests check the modules that are actually loaded. The docs list the KCP module. Co-Authored-By: Claude --- docs/api/mamba.rst | 22 ++- flashinfer/cake_causal_conv1d_det_train.py | 111 +---------- .../kcp.py | 115 ++++++------ .../cake_causal_conv1d_det_train_kcp.py | 171 +++++++++++++++++ ..._cake_causal_conv1d_det_train_kcp_build.py | 32 ++-- ..._cake_causal_conv1d_det_train_kcp_knobs.py | 46 ++--- .../test_cake_causal_conv1d_det_train_kcp.py | 172 ++++++++++-------- ...t_cake_causal_conv1d_det_train_kcp_dist.py | 33 ++-- ..._cake_causal_conv1d_det_train_kcp_multi.py | 117 ++++++------ ..._causal_conv1d_det_train_kcp_multi_dist.py | 53 +++--- 10 files changed, 507 insertions(+), 365 deletions(-) create mode 100644 flashinfer/cake_causal_conv1d_det_train_kcp.py diff --git a/docs/api/mamba.rst b/docs/api/mamba.rst index 40f2c4e109d..43279a4795b 100644 --- a/docs/api/mamba.rst +++ b/docs/api/mamba.rst @@ -43,11 +43,27 @@ stream. :toctree: ../generated cake_causal_conv1d_det - cake_causal_conv1d_kcp - cake_causal_conv1d_kcp_multi - KcpRecomputeHandle cake_causal_conv1d_det_train_forward cake_causal_conv1d_det_train_backward cake_causal_conv1d_det_train_backward_workspace_bytes cake_causal_conv1d_det_train_backward_workspace CakeCausalConv1dDetFunction + +Context-parallel training causal conv1d (Cake) +---------------------------------------------- + +The context-parallel (KCP) route of the same convolution: every rank convolves +its fragments of the packed batch, and the first tokens of a fragment that +continues a document read the history rows of the preceding fragment through +the halo collective of the KDA step's context. ``flashinfer.cake_causal_conv1d_det_train`` +keeps the previous names ``cake_causal_conv1d_kcp``, ``cake_causal_conv1d_kcp_multi`` +and ``KcpRecomputeHandle`` as aliases of the same objects. + +.. currentmodule:: flashinfer.cake_causal_conv1d_det_train_kcp + +.. autosummary:: + :toctree: ../generated + + cake_causal_conv1d_det_kcp + cake_causal_conv1d_det_multi_kcp + RecomputeHandleDetKcp diff --git a/flashinfer/cake_causal_conv1d_det_train.py b/flashinfer/cake_causal_conv1d_det_train.py index 5c20b6533f0..3ce6dc399eb 100644 --- a/flashinfer/cake_causal_conv1d_det_train.py +++ b/flashinfer/cake_causal_conv1d_det_train.py @@ -121,11 +121,12 @@ from __future__ import annotations -from typing import Any, Optional, Sequence +from typing import Any, Optional import torch from . import cake_causal_conv1d_det_train_backend as _backend +from . import cake_causal_conv1d_det_train_kcp as _kcp_facade from .api_logging import flashinfer_api from .cake_causal_conv1d_det_train_backend import ( # noqa: F401 ARCHES, @@ -326,106 +327,10 @@ def cake_causal_conv1d_det( ) -@flashinfer_api -def cake_causal_conv1d_kcp( - x_local: torch.Tensor, - weight: torch.Tensor, - ctx: Any, - *, - recompute_handle: Optional[Any] = None, -) -> torch.Tensor: - """Autograd-enabled context-parallel packed width-4 depthwise causal convolution + SiLU of this rank's fragments. - - The first tokens of a fragment that continues a document read the history rows of the preceding fragment - (exchanged through the context's halo collective) instead of zeros, so the result equals the single-rank - :func:`cake_causal_conv1d_det` of the whole batch on this rank's tokens. The KCP path takes FP32 taps and no - bias (the package's pre-round-6 contract). - - Parameters - ---------- - x_local : torch.Tensor - BF16 ``[S_local, C]`` or ``[1, S_local, C]`` contiguous packed activations of this rank's fragments, in the - partition's order; ``C`` is a multiple of 8. - weight : torch.Tensor - FP32 ``[C, 4]`` contiguous taps. - ctx : KcpContext - From ``flashinfer.kda_train.build_kcp_context`` (the same context the KDA step of the rank uses). - recompute_handle : KcpRecomputeHandle, optional - Keyword-only, default ``None`` (unchanged behavior). A handle (any object with an ``entries`` dict, such as - ``flashinfer.cake_causal_conv1d_det_train.KcpRecomputeHandle``) makes the checkpoint recompute of - this call run without the forward halo exchange: the original forward exchanges as always and stores its - history rows (the saved set's own tensor, key ``"conv"``) in the handle; torch's recompute of the forward - inside the backward reads them back, so ``y`` and the gradients are bitwise those of the same checkpoint - without a handle. The backward still exchanges. Create one handle per convolution call and micro-step, - outside the outermost checkpoint region, and pass it as an argument of the checkpointed function. A - forward outside the backward that finds an entry raises (a handle reused across micro-steps). The forward - halo exchange is a collective: every rank of ``ctx.group`` passes a handle for the same call or none, created - at the same checkpoint nesting level. A mismatch pairs one rank's recompute exchange with another rank's - backward exchange and hangs or corrupts data; no check is made. Never share one handle between two - convolution calls (also not in nested regions), and never ``clear()`` or reuse a handle while a backward - that needs it is pending. - - Returns - ------- - torch.Tensor - BF16 ``y`` of ``x_local``'s shape. The backward runs the head program, the backward halo exchange and the - fused ``dx`` + deterministic FP32 ``dweight`` kernel of this rank's fragments. - """ - - from .cake_causal_conv1d_det_train_backend import kcp as _kcp - - return _kcp.cake_causal_conv1d_kcp( - x_local, weight, ctx, recompute_handle=recompute_handle - ) - - -@flashinfer_api -def cake_causal_conv1d_kcp_multi( - xs: Sequence[torch.Tensor], - weights: Sequence[torch.Tensor], - ctx: Any, - *, - recompute_handle: Optional[Any] = None, -) -> tuple[torch.Tensor, ...]: - """Autograd-enabled context-parallel convolutions of several tensors of one layer (for example its q, k and v) - with one halo exchange per direction. - - The result is bitwise ``tuple(cake_causal_conv1d_kcp(x, w, ctx) for x, w in zip(xs, weights))``: outputs and - every gradient, ``dweight`` included (each tensor keeps its own kernels and fixed-order reduction). The forward - issues one halo collective instead of one per tensor (the history rows of all tensors travel side by side and are - copied out after the wait), and so does the backward, so a layer has fewer global synchronization points. - - Parameters - ---------- - xs : sequence of torch.Tensor - ``n >= 1`` BF16 ``[S_local, C_i]`` or ``[1, S_local, C_i]`` contiguous packed activations of this rank's - fragments, in the partition's order; each ``C_i`` is a multiple of 8 (they may differ). - weights : sequence of torch.Tensor - FP32 ``[C_i, 4]`` contiguous taps, one per tensor. - ctx : KcpContext - As in :func:`cake_causal_conv1d_kcp`. Every rank of the group calls this function once per layer, in the - same order, with the same tensor count and channel counts. The ranks are not compared (that would cost a - collective): a different count, channel count or order hangs the exchange or silently corrupts the history - rows, as a mismatch of the single entry's per-rank contract does. - recompute_handle : KcpRecomputeHandle, optional - Keyword-only, default ``None`` (unchanged behavior). One handle for the whole call: the original forward - stores the ``n`` history pools under ``"conv"`` and torch's recompute inside the backward reads them back, - so the recompute issues no collective; the backward still exchanges once. The rules of - :func:`cake_causal_conv1d_kcp` apply (one handle per call and micro-step, created outside the outermost - checkpoint region; every rank passes one or none). The same handle may carry the layer's ``"kda"`` entry; - its ``"conv"`` entry serves one multi call or one single call, never both. - - Returns - ------- - tuple of torch.Tensor - The ``n`` BF16 outputs, each of its input's shape. - """ - - from .cake_causal_conv1d_det_train_backend import kcp as _kcp - - return _kcp.cake_causal_conv1d_kcp_multi( - xs, weights, ctx, recompute_handle=recompute_handle - ) +# The context-parallel (KCP) entry points live in ``flashinfer.cake_causal_conv1d_det_train_kcp``; their previous +# names stay bound here to the same objects. +cake_causal_conv1d_kcp = _kcp_facade.cake_causal_conv1d_det_kcp +cake_causal_conv1d_kcp_multi = _kcp_facade.cake_causal_conv1d_det_multi_kcp # Compatibility names of the single-rank entry points, each bound to the same object as its det name @@ -453,9 +358,9 @@ def __getattr__(name: str) -> Any: # ``KcpRecomputeHandle`` (the KCP route's checkpoint recompute handle) resolves on first access, so importing the # facade does not import the KCP host module (torch.distributed, the KCP loader), like the entry point above. if name == "KcpRecomputeHandle": - from .cake_causal_conv1d_det_train_backend.kcp import KcpRecomputeHandle + from .cake_causal_conv1d_det_train_backend.kcp import RecomputeHandleDetKcp - return KcpRecomputeHandle + return RecomputeHandleDetKcp raise AttributeError(f"module {__name__!r} has no attribute {name!r}") diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py b/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py index 6b6bc2a57d7..393898bcd84 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py +++ b/flashinfer/cake_causal_conv1d_det_train_backend/kcp.py @@ -19,7 +19,7 @@ before each continuing fragment, received from the ranks that hold them by one ``all_to_all_single`` per direction, and the backward sends the first rows' derivative back to the predecessor fragments, which fold it into their last -rows' ``dx`` before the one BF16 rounding. ``cake_causal_conv1d_kcp(x_local, +rows' ``dx`` before the one BF16 rounding. ``cake_causal_conv1d_det_kcp(x_local, weight, ctx)`` is the autograd entry; the stable, ``@flashinfer_api``-decorated facade is :mod:`flashinfer.cake_causal_conv1d_det_train`. This module imports only ``os``, torch, torch.distributed, tvm_ffi and its own package. @@ -77,7 +77,7 @@ the previous host path for the A/B record. Checkpoint recompute without the halo exchange (FlashInfer issues #7815 / -#7818): with ``recompute_handle=`` (:class:`KcpRecomputeHandle`, or any object +#7818): with ``recompute_handle=`` (:class:`RecomputeHandleDetKcp`, or any object with an ``entries`` dict) the original forward exchanges as always and stores its history pool ``hist`` (the saved set's own tensor, key ``"conv"``) in the handle; torch's recompute of that forward inside the backward binds it and @@ -88,7 +88,7 @@ a handle for the same call or none, created at the same checkpoint nesting level (no check is made; a mismatch hangs or corrupts data). -Several convolutions of one layer (FlashInfer issue #7815): ``cake_causal_conv1d_kcp_multi(xs, weights, ctx)`` runs +Several convolutions of one layer (FlashInfer issue #7815): ``cake_causal_conv1d_det_multi_kcp(xs, weights, ctx)`` runs the convolutions of ``n`` tensors that share the context (a layer's q, k and v) with one halo exchange per direction instead of ``n``: the tensors' send rows travel side by side in one ``all_to_all_single`` and are copied out into each tensor's own contiguous pool after the wait, and each tensor then runs the single call's kernels with the @@ -266,7 +266,7 @@ def _context(ctx: Any, *, device: torch.device, T_r: int) -> tuple[torch.Tensor, # no collective; the entry stays (``retain_graph`` / a second backward replays it again); # * an entry outside the backward -> raise (a handle reused across micro-steps or for a second convolution). # Graph replay (keyword or knob) and a forward inside a CUDA-graph capture are refused with a handle, in the -# autograd Function itself (``_handle_refusals``), so ``CakeCausalConv1dKcpFunction.apply`` refuses like the wrapper. +# autograd Function itself (``_handle_refusals``), so ``CakeCausalConv1dDetFunctionKcp.apply`` refuses like the wrapper. # The ranks are not checked against each other: the forward exchange is a collective, so every rank of the group # must take the same branch (all with a handle at the same nesting level, or all without). @@ -276,7 +276,7 @@ def _context(ctx: Any, *, device: torch.device, T_r: int) -> tuple[torch.Tensor, _GRAPH_TASK_ID_USABLE: Optional[bool] = None # None = not checked yet -class KcpRecomputeHandle: +class RecomputeHandleDetKcp: """The boundary tensors of one checkpointed call, carried from its original forward to torch's recompute of that forward, so the recompute runs without cross-rank communication. @@ -284,9 +284,9 @@ class KcpRecomputeHandle: argument of the checkpointed function, so the recompute sees the same object:: def layer(x, weight, handle): - return cake_causal_conv1d_kcp(x, weight, ctx, recompute_handle=handle) + return cake_causal_conv1d_det_kcp(x, weight, ctx, recompute_handle=handle) - y = torch.utils.checkpoint.checkpoint(layer, x, w, KcpRecomputeHandle(), use_reentrant=False) + y = torch.utils.checkpoint.checkpoint(layer, x, w, RecomputeHandleDetKcp(), use_reentrant=False) ``entries`` maps an operation key to that operation's entry: ``"conv"`` is this package's (the forward's history pool ``hist``, the very tensor the saved set holds); other packages that accept a handle with an ``entries`` dict @@ -356,7 +356,7 @@ def _handle_refusals(graph: Optional[str], handle: Any) -> None: ) if not isinstance(getattr(handle, "entries", None), dict): raise TypeError( - f"recompute_handle must carry an 'entries' dict (KcpRecomputeHandle), got {type(handle).__name__}" + f"recompute_handle must carry an 'entries' dict (RecomputeHandleDetKcp), got {type(handle).__name__}" ) @@ -366,7 +366,7 @@ def _handle_lookup(handle: Any) -> Optional[dict[str, Any]]: entries = getattr(handle, "entries", None) if not isinstance(entries, dict): raise TypeError( - f"recompute_handle must carry an 'entries' dict (KcpRecomputeHandle), got {type(handle).__name__}" + f"recompute_handle must carry an 'entries' dict (RecomputeHandleDetKcp), got {type(handle).__name__}" ) in_backward = _kcp_in_backward() entry = entries.get(HANDLE_KEY) @@ -375,7 +375,7 @@ def _handle_lookup(handle: Any) -> Optional[dict[str, Any]]: if not in_backward: raise RuntimeError( "recompute_handle: the handle already holds a 'conv' entry outside the backward -- a handle serves one " - "convolution call of one micro-step; create a new KcpRecomputeHandle per call and micro-step" + "convolution call of one micro-step; create a new RecomputeHandleDetKcp per call and micro-step" ) return entry @@ -419,10 +419,10 @@ def _handle_hist( # ---------------------------------------------------------------------------------------------------------------- # CUDA-graph replay of a call and the test knobs. # -# The public keyword ``graph="replay"`` of :func:`cake_causal_conv1d_kcp` and of the forward / backward below (shipped +# The public keyword ``graph="replay"`` of :func:`cake_causal_conv1d_det_kcp` and of the forward / backward below (shipped # ``GRAPH_DEFAULT = "off"``) -- or, for the A/B record, the private ``_set_test_knobs({"graph": "replay"})`` (accepted # only with ``CAKE_KCP_TEST_KNOBS=1``; a keyword contradicting an active knob is a ``ValueError``) -- makes -# :func:`cake_causal_conv1d_kcp_forward` / :func:`cake_causal_conv1d_kcp_backward` run their first call of a +# :func:`cake_causal_conv1d_det_forward_kcp` / :func:`cake_causal_conv1d_det_backward_kcp` run their first call of a # validity key (kind, the context object, its world size, and the shape / stride / dtype / data pointer of every # operand and caller-owned output) eagerly, capture the second call into a ``torch.cuda.CUDAGraph`` (replayed once) # and replay the graph on every later call of the key: the halo gather, the ``all_to_all_single``, its wait and the @@ -702,7 +702,7 @@ def _graph_run( return result -def cake_causal_conv1d_kcp_forward( +def cake_causal_conv1d_det_forward_kcp( x_local: torch.Tensor, weight: torch.Tensor, ctx: Any, @@ -740,7 +740,7 @@ def _kcp_forward( out: Optional[torch.Tensor] = None, _hist: Optional[torch.Tensor] = None, ) -> tuple[torch.Tensor, torch.Tensor]: - """The forward's host flow (eagerly or inside a capture): see :func:`cake_causal_conv1d_kcp_forward`. ``_hist``: + """The forward's host flow (eagerly or inside a capture): see :func:`cake_causal_conv1d_det_forward_kcp`. ``_hist``: the history pool a recompute handle stored (checked by :func:`_handle_hist`): no gather, no exchange, no wait; the kernel launch is the same.""" @@ -936,7 +936,7 @@ def _kcp_forward_trim( return y, hist -def cake_causal_conv1d_kcp_backward( +def cake_causal_conv1d_det_backward_kcp( x_local: torch.Tensor, weight: torch.Tensor, ctx: Any, @@ -983,7 +983,7 @@ def _kcp_backward( dx: Optional[torch.Tensor] = None, dweight: Optional[torch.Tensor] = None, ) -> tuple[torch.Tensor, torch.Tensor]: - """The backward's host flow (eagerly or inside a capture): see :func:`cake_causal_conv1d_kcp_backward`.""" + """The backward's host flow (eagerly or inside a capture): see :func:`cake_causal_conv1d_det_backward_kcp`.""" x = _require_tensor(x_local, "x_local") device = x.device @@ -1345,17 +1345,19 @@ def _kcp_backward_trim( return dx_out, dw_out -class CakeCausalConv1dKcpFunction(torch.autograd.Function): +class CakeCausalConv1dDetFunctionKcp(torch.autograd.Function): """Autograd wrapper: the forward saves ``(x_local, weight)`` and the history pool ``hist`` (no second exchange in the backward); the backward runs the head program, the backward halo exchange and the main backward program. - ``handle``: a recompute handle (see :class:`KcpRecomputeHandle`): the original forward stores ``hist`` in it, the + ``handle``: a recompute handle (see :class:`RecomputeHandleDetKcp`): the original forward stores ``hist`` in it, the recompute binds it and exchanges nothing; the saved set is the same three tensors either way. A handle is refused with graph replay (keyword or knob) and inside a CUDA-graph capture.""" @staticmethod def forward(fn_ctx, x_local, weight, ctx, graph=None, handle=None): if handle is None: - y, hist = cake_causal_conv1d_kcp_forward(x_local, weight, ctx, graph=graph) + y, hist = cake_causal_conv1d_det_forward_kcp( + x_local, weight, ctx, graph=graph + ) else: _handle_refusals(graph, handle) entry = _handle_lookup(handle) @@ -1385,13 +1387,13 @@ def backward(fn_ctx, grad_y): if grad_y is None: grad_y = torch.zeros_like(x_local) dy = grad_y.to(torch.bfloat16).contiguous() - dx, dweight = cake_causal_conv1d_kcp_backward( + dx, dweight = cake_causal_conv1d_det_backward_kcp( x_local, weight, fn_ctx.kcp, dy, hist, graph=fn_ctx.graph ) return dx, dweight, None, None, None -def cake_causal_conv1d_kcp( +def cake_causal_conv1d_det_kcp( x_local: torch.Tensor, weight: torch.Tensor, ctx: Any, @@ -1420,7 +1422,7 @@ def cake_causal_conv1d_kcp( same layer (a replay overwrites the graph's static tensors); any other key runs eagerly (``GRAPH_STATS``, ``LAST_CALL``). Each cached key pins a private memory pool (at most ``GRAPH_CACHE_MAX`` keys); call :func:`graph_cache_clear` before ``torch.distributed.destroy_process_group()``. - recompute_handle : KcpRecomputeHandle, optional + recompute_handle : RecomputeHandleDetKcp, optional ``None`` (default): unchanged. A handle (any object with an ``entries`` dict): the checkpoint recompute of this call exchanges nothing -- the original forward stores its history pool under ``"conv"`` and torch's recompute inside the backward binds it (bitwise the exchanging recompute); the backward still exchanges. @@ -1445,7 +1447,7 @@ def cake_causal_conv1d_kcp( if recompute_handle is not None: _handle_refusals(graph, recompute_handle) # Always five inputs: the backward returns five gradients. - return CakeCausalConv1dKcpFunction.apply( + return CakeCausalConv1dDetFunctionKcp.apply( x_local, weight, ctx, graph, recompute_handle ) @@ -1501,7 +1503,7 @@ def _unpack(recv: torch.Tensor, widths: list[int]) -> list[torch.Tensor]: return blocks -def cake_causal_conv1d_kcp_multi_forward( +def cake_causal_conv1d_det_multi_forward_kcp( xs: Any, weights: Any, ctx: Any, @@ -1510,13 +1512,13 @@ def cake_causal_conv1d_kcp_multi_forward( graph: Optional[str] = None, ) -> tuple[tuple[torch.Tensor, ...], tuple[torch.Tensor, ...]]: r"""The KCP forward of several convolutions of one layer with one halo exchange: ``(ys, hists)``, bitwise - ``cake_causal_conv1d_kcp_forward(xs[i], weights[i], ctx)`` per tensor. + ``cake_causal_conv1d_det_forward_kcp(xs[i], weights[i], ctx)`` per tensor. ``xs`` BF16 ``[T_r, C_i]`` (or ``[1, T_r, C_i]``) contiguous tensors of the rank's fragments (the channel counts may differ); ``weights`` FP32 ``[C_i, 4]``; ``outs`` optional preallocated outputs. Every rank of ``ctx.group`` calls this function once per layer, in the same order, with the same number of tensors and the same channel counts: the one forward exchange is a collective. ``hists[i]`` is a fresh contiguous ``[n_hist_rows, C_i]`` - BF16 pool (the saved tensor of tensor ``i``). ``graph`` as in :func:`cake_causal_conv1d_kcp_forward` (the + BF16 pool (the saved tensor of tensor ``i``). ``graph`` as in :func:`cake_causal_conv1d_det_forward_kcp` (the validity key holds every operand). """ @@ -1585,7 +1587,7 @@ def _kcp_forward_multi( return ys, tuple(hists) -def cake_causal_conv1d_kcp_multi_backward( +def cake_causal_conv1d_det_multi_backward_kcp( xs: Any, weights: Any, ctx: Any, @@ -1597,12 +1599,12 @@ def cake_causal_conv1d_kcp_multi_backward( graph: Optional[str] = None, ) -> tuple[tuple[torch.Tensor, ...], tuple[torch.Tensor, ...]]: r"""The KCP backward of several convolutions of one layer with one halo exchange: ``(dxs, dweights)``, bitwise - ``cake_causal_conv1d_kcp_backward(xs[i], weights[i], ctx, dys[i], hists[i])`` per tensor. + ``cake_causal_conv1d_det_backward_kcp(xs[i], weights[i], ctx, dys[i], hists[i])`` per tensor. The head programs of every tensor run first, their send rows travel packed in one exchange, and after the wait each tensor's received rows are copied out and folded by that tensor's main backward programs (own partial workspace, fixed order). ``hists`` are the forward's pools. Every rank calls this function once per layer, in - the same order. ``graph`` as in :func:`cake_causal_conv1d_kcp_backward`. + the same order. ``graph`` as in :func:`cake_causal_conv1d_det_backward_kcp`. """ xs, weights, _ = _multi_operands(xs, weights, None) @@ -1647,7 +1649,7 @@ def _kcp_backward_multi( dweights: list[Optional[torch.Tensor]], ) -> tuple[tuple[torch.Tensor, ...], tuple[torch.Tensor, ...]]: """The multi backward's host flow (eagerly or inside a capture): see - :func:`cake_causal_conv1d_kcp_multi_backward`.""" + :func:`cake_causal_conv1d_det_multi_backward_kcp`.""" device = _require_tensor(xs[0], "xs[0]").device _wait_ready(ctx) @@ -1707,7 +1709,7 @@ def _handle_hists( if not all(isinstance(t, tuple) and len(t) == n for t in (pools, keys, shapes)): raise ValueError( f"recompute_handle: the 'conv' entry holds no {n}-tensor multi-call pools (an entry of " - f"cake_causal_conv1d_kcp or of another tensor count); one handle serves one call" + f"cake_causal_conv1d_det_kcp or of another tensor count); one handle serves one call" ) if entry.get("ctx") is not ctx: raise ValueError( @@ -1730,10 +1732,10 @@ def _handle_hists( ) -class CakeCausalConv1dKcpMultiFunction(torch.autograd.Function): +class CakeCausalConv1dDetMultiFunctionKcp(torch.autograd.Function): """Autograd wrapper of several convolutions with one halo exchange per direction: ``apply(ctx, graph, handle, n, *xs, *weights)`` returns the ``n`` outputs; the forward saves ``(*xs, *weights, *hists)``; the backward runs - :func:`cake_causal_conv1d_kcp_multi_backward`. ``handle``: one recompute handle for the call, whose ``"conv"`` + :func:`cake_causal_conv1d_det_multi_backward_kcp`. ``handle``: one recompute handle for the call, whose ``"conv"`` entry holds the ``n`` pools (the saved set's own tensors): the recompute binds them and exchanges nothing. Refused with graph replay (keyword or knob) and inside a CUDA-graph capture, like the single call.""" @@ -1741,7 +1743,7 @@ class CakeCausalConv1dKcpMultiFunction(torch.autograd.Function): def forward(fn_ctx, ctx, graph, handle, n, *tensors): xs, weights = list(tensors[:n]), list(tensors[n:]) if handle is None: - ys, hists = cake_causal_conv1d_kcp_multi_forward( + ys, hists = cake_causal_conv1d_det_multi_forward_kcp( xs, weights, ctx, graph=graph ) else: @@ -1780,13 +1782,13 @@ def backward(fn_ctx, *grad_ys): (torch.zeros_like(x) if g is None else g).to(torch.bfloat16).contiguous() for g, x in zip(grad_ys, xs, strict=True) ] - dxs, dweights = cake_causal_conv1d_kcp_multi_backward( + dxs, dweights = cake_causal_conv1d_det_multi_backward_kcp( xs, weights, fn_ctx.kcp, dys, hists, graph=fn_ctx.graph ) return (None, None, None, None, *dxs, *dweights) -def cake_causal_conv1d_kcp_multi( +def cake_causal_conv1d_det_multi_kcp( xs: Any, weights: Any, ctx: Any, @@ -1797,7 +1799,7 @@ def cake_causal_conv1d_kcp_multi( """Autograd-enabled KCP convolutions of several tensors of one layer (for example its q, k and v) with one halo exchange per direction. - Bitwise ``tuple(cake_causal_conv1d_kcp(x, w, ctx) for x, w in zip(xs, weights))`` -- outputs and every gradient, + Bitwise ``tuple(cake_causal_conv1d_det_kcp(x, w, ctx) for x, w in zip(xs, weights))`` -- outputs and every gradient, ``dweight`` included (each tensor keeps its own kernels and fixed-order partial) -- with one collective in the forward and one in the backward instead of one per tensor: fewer global synchronization points per layer. @@ -1809,16 +1811,16 @@ def cake_causal_conv1d_kcp_multi( weights : sequence of torch.Tensor FP32 ``[C_i, 4]`` contiguous taps, one per tensor. ctx : KcpContext - The rank's context, as in :func:`cake_causal_conv1d_kcp`. Every rank of the group calls this function once + The rank's context, as in :func:`cake_causal_conv1d_det_kcp`. Every rank of the group calls this function once per layer, in the same order, with the same tensor count and channel counts. The ranks are not compared (that would cost a collective): a different count, channel count or order hangs the exchange or silently corrupts the history rows, as a mismatch of the single entry's per-rank contract does. graph : str, optional - As in :func:`cake_causal_conv1d_kcp` (keyed CUDA-graph capture / replay; the key holds every operand). - recompute_handle : KcpRecomputeHandle, optional + As in :func:`cake_causal_conv1d_det_kcp` (keyed CUDA-graph capture / replay; the key holds every operand). + recompute_handle : RecomputeHandleDetKcp, optional ``None`` (default): unchanged. One handle for the whole call: the original forward stores the ``n`` history pools under ``"conv"``, torch's recompute inside the backward binds them and exchanges nothing; the backward - still exchanges once. Same rules as :func:`cake_causal_conv1d_kcp` (one handle per call and micro-step, + still exchanges once. Same rules as :func:`cake_causal_conv1d_det_kcp` (one handle per call and micro-step, created outside the outermost checkpoint region; refused with ``graph="replay"`` and inside a CUDA-graph capture; every rank passes one or none). The handle may also carry the ``"kda"`` entry of the layer's recurrence; a handle's ``"conv"`` entry serves either one multi call or one single call, never both. @@ -1833,7 +1835,7 @@ def cake_causal_conv1d_kcp_multi( xs, weights, _ = _multi_operands(xs, weights, None) if recompute_handle is not None: _handle_refusals(graph, recompute_handle) - return CakeCausalConv1dKcpMultiFunction.apply( + return CakeCausalConv1dDetMultiFunctionKcp.apply( ctx, graph, recompute_handle, len(xs), *xs, *weights ) @@ -1843,15 +1845,26 @@ def cake_causal_conv1d_kcp_multi( "GRAPH_DEFAULT", "GRAPH_STATS", "HANDLE_KEY", - "KcpRecomputeHandle", + "RecomputeHandleDetKcp", "LAST_CALL", "graph_cache_clear", - "CakeCausalConv1dKcpFunction", - "cake_causal_conv1d_kcp", - "cake_causal_conv1d_kcp_backward", - "cake_causal_conv1d_kcp_forward", - "CakeCausalConv1dKcpMultiFunction", - "cake_causal_conv1d_kcp_multi", - "cake_causal_conv1d_kcp_multi_backward", - "cake_causal_conv1d_kcp_multi_forward", + "CakeCausalConv1dDetFunctionKcp", + "cake_causal_conv1d_det_kcp", + "cake_causal_conv1d_det_backward_kcp", + "cake_causal_conv1d_det_forward_kcp", + "CakeCausalConv1dDetMultiFunctionKcp", + "cake_causal_conv1d_det_multi_kcp", + "cake_causal_conv1d_det_multi_backward_kcp", + "cake_causal_conv1d_det_multi_forward_kcp", ] + +# The names before the det rename, bound to the same objects (not in ``__all__``). +CakeCausalConv1dKcpFunction = CakeCausalConv1dDetFunctionKcp +CakeCausalConv1dKcpMultiFunction = CakeCausalConv1dDetMultiFunctionKcp +KcpRecomputeHandle = RecomputeHandleDetKcp +cake_causal_conv1d_kcp = cake_causal_conv1d_det_kcp +cake_causal_conv1d_kcp_backward = cake_causal_conv1d_det_backward_kcp +cake_causal_conv1d_kcp_forward = cake_causal_conv1d_det_forward_kcp +cake_causal_conv1d_kcp_multi = cake_causal_conv1d_det_multi_kcp +cake_causal_conv1d_kcp_multi_backward = cake_causal_conv1d_det_multi_backward_kcp +cake_causal_conv1d_kcp_multi_forward = cake_causal_conv1d_det_multi_forward_kcp diff --git a/flashinfer/cake_causal_conv1d_det_train_kcp.py b/flashinfer/cake_causal_conv1d_det_train_kcp.py new file mode 100644 index 00000000000..d9d6c17e880 --- /dev/null +++ b/flashinfer/cake_causal_conv1d_det_train_kcp.py @@ -0,0 +1,171 @@ +""" +Copyright (c) 2026 by FlashInfer team. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Deterministic context-parallel (KCP) packed width-4 depthwise causal convolution + SiLU training +(SM100 / SM103 / SM107), the Cake backend. ``flashinfer.cake_causal_conv1d_det_train`` keeps the +names these entry points had before (``cake_causal_conv1d_kcp``, ``cake_causal_conv1d_kcp_multi``, +``KcpRecomputeHandle``) as compatibility aliases of the objects defined here. + +Every rank convolves its fragments of the packed batch; the first tokens of a fragment that continues a +document read the history rows of the preceding fragment, exchanged through the halo collective of the +context-parallel context of the KDA step (``flashinfer.cake_kda_det_train_kcp.build_context_det_kcp``). +The per-rank launch sequences, the autograd Functions and the kernels of the ``kcp_jit`` registry live in +``flashinfer.cake_causal_conv1d_det_train_backend.kcp``; the single-rank entry points are in +``flashinfer.cake_causal_conv1d_det_train``:: + + from flashinfer.cake_causal_conv1d_det_train_kcp import ( + cake_causal_conv1d_det_kcp, + cake_causal_conv1d_det_multi_kcp, + ) + + # this rank's fragments, with the history rows of the preceding fragments exchanged + # through the KCP context (FP32 taps, no bias) + y_local = cake_causal_conv1d_det_kcp(x_local, weight, ctx) + + # a layer's q / k / v convolutions with one halo exchange per direction + # (bitwise three single calls) + q, k, v = cake_causal_conv1d_det_multi_kcp((xq, xk, xv), (wq, wk, wv), ctx) +""" + +from __future__ import annotations + +from typing import Any, Optional, Sequence + +import torch + +from .api_logging import flashinfer_api + + +@flashinfer_api +def cake_causal_conv1d_det_kcp( + x_local: torch.Tensor, + weight: torch.Tensor, + ctx: Any, + *, + recompute_handle: Optional[Any] = None, +) -> torch.Tensor: + """Autograd-enabled context-parallel packed width-4 depthwise causal convolution + SiLU of this rank's fragments. + + The first tokens of a fragment that continues a document read the history rows of the preceding fragment + (exchanged through the context's halo collective) instead of zeros, so the result equals the single-rank + :func:`flashinfer.cake_causal_conv1d_det_train.cake_causal_conv1d_det` of the whole batch on this rank's tokens. The KCP path takes FP32 taps and no + bias (the package's pre-round-6 contract). + + Parameters + ---------- + x_local : torch.Tensor + BF16 ``[S_local, C]`` or ``[1, S_local, C]`` contiguous packed activations of this rank's fragments, in the + partition's order; ``C`` is a multiple of 8. + weight : torch.Tensor + FP32 ``[C, 4]`` contiguous taps. + ctx : ContextDetKcp + From ``flashinfer.cake_kda_det_train_kcp.build_context_det_kcp`` (the same context the KDA step of the rank uses). + recompute_handle : RecomputeHandleDetKcp, optional + Keyword-only, default ``None`` (unchanged behavior). A handle (any object with an ``entries`` dict, such as + ``flashinfer.cake_causal_conv1d_det_train_kcp.RecomputeHandleDetKcp``) makes the checkpoint recompute of + this call run without the forward halo exchange: the original forward exchanges as always and stores its + history rows (the saved set's own tensor, key ``"conv"``) in the handle; torch's recompute of the forward + inside the backward reads them back, so ``y`` and the gradients are bitwise those of the same checkpoint + without a handle. The backward still exchanges. Create one handle per convolution call and micro-step, + outside the outermost checkpoint region, and pass it as an argument of the checkpointed function. A + forward outside the backward that finds an entry raises (a handle reused across micro-steps). The forward + halo exchange is a collective: every rank of ``ctx.group`` passes a handle for the same call or none, created + at the same checkpoint nesting level. A mismatch pairs one rank's recompute exchange with another rank's + backward exchange and hangs or corrupts data; no check is made. Never share one handle between two + convolution calls (also not in nested regions), and never ``clear()`` or reuse a handle while a backward + that needs it is pending. + + Returns + ------- + torch.Tensor + BF16 ``y`` of ``x_local``'s shape. The backward runs the head program, the backward halo exchange and the + fused ``dx`` + deterministic FP32 ``dweight`` kernel of this rank's fragments. + """ + + from .cake_causal_conv1d_det_train_backend import kcp as _kcp # noqa: PLC0415 + + return _kcp.cake_causal_conv1d_det_kcp( + x_local, weight, ctx, recompute_handle=recompute_handle + ) + + +@flashinfer_api +def cake_causal_conv1d_det_multi_kcp( + xs: Sequence[torch.Tensor], + weights: Sequence[torch.Tensor], + ctx: Any, + *, + recompute_handle: Optional[Any] = None, +) -> tuple[torch.Tensor, ...]: + """Autograd-enabled context-parallel convolutions of several tensors of one layer (for example its q, k and v) + with one halo exchange per direction. + + The result is bitwise ``tuple(cake_causal_conv1d_det_kcp(x, w, ctx) for x, w in zip(xs, weights))``: outputs and + every gradient, ``dweight`` included (each tensor keeps its own kernels and fixed-order reduction). The forward + issues one halo collective instead of one per tensor (the history rows of all tensors travel side by side and are + copied out after the wait), and so does the backward, so a layer has fewer global synchronization points. + + Parameters + ---------- + xs : sequence of torch.Tensor + ``n >= 1`` BF16 ``[S_local, C_i]`` or ``[1, S_local, C_i]`` contiguous packed activations of this rank's + fragments, in the partition's order; each ``C_i`` is a multiple of 8 (they may differ). + weights : sequence of torch.Tensor + FP32 ``[C_i, 4]`` contiguous taps, one per tensor. + ctx : ContextDetKcp + As in :func:`cake_causal_conv1d_det_kcp`. Every rank of the group calls this function once per layer, in the + same order, with the same tensor count and channel counts. The ranks are not compared (that would cost a + collective): a different count, channel count or order hangs the exchange or silently corrupts the history + rows, as a mismatch of the single entry's per-rank contract does. + recompute_handle : RecomputeHandleDetKcp, optional + Keyword-only, default ``None`` (unchanged behavior). One handle for the whole call: the original forward + stores the ``n`` history pools under ``"conv"`` and torch's recompute inside the backward reads them back, + so the recompute issues no collective; the backward still exchanges once. The rules of + :func:`cake_causal_conv1d_det_kcp` apply (one handle per call and micro-step, created outside the outermost + checkpoint region; every rank passes one or none). The same handle may carry the layer's ``"kda"`` entry; + its ``"conv"`` entry serves one multi call or one single call, never both. + + Returns + ------- + tuple of torch.Tensor + The ``n`` BF16 outputs, each of its input's shape. + """ + + from .cake_causal_conv1d_det_train_backend import kcp as _kcp # noqa: PLC0415 + + return _kcp.cake_causal_conv1d_det_multi_kcp( + xs, weights, ctx, recompute_handle=recompute_handle + ) + + +# ``RecomputeHandleDetKcp`` (the KCP route's checkpoint recompute handle) resolves on first access, so importing this +# module does not import the KCP host module (torch.distributed, the KCP loader), like the entry points above. +def __getattr__(name: str) -> Any: + if name == "RecomputeHandleDetKcp": + from .cake_causal_conv1d_det_train_backend.kcp import RecomputeHandleDetKcp # noqa: PLC0415 + + return RecomputeHandleDetKcp + raise AttributeError(f"module {__name__!r} has no attribute {name!r}") + + +def __dir__() -> list[str]: + return sorted(set(globals()) | {"RecomputeHandleDetKcp"}) + + +__all__ = [ + "RecomputeHandleDetKcp", # noqa: F822 - resolved by __getattr__ + "cake_causal_conv1d_det_kcp", + "cake_causal_conv1d_det_multi_kcp", +] diff --git a/tests/cpu/test_cake_causal_conv1d_det_train_kcp_build.py b/tests/cpu/test_cake_causal_conv1d_det_train_kcp_build.py index 5e4313d38cc..e9e6f9b479d 100644 --- a/tests/cpu/test_cake_causal_conv1d_det_train_kcp_build.py +++ b/tests/cpu/test_cake_causal_conv1d_det_train_kcp_build.py @@ -28,9 +28,9 @@ from tests.test_helpers.cake_package import cake_package -cake_build = cake_package("cake_causal_conv1d_train", "cake_build") -cake_jit = cake_package("cake_causal_conv1d_train", "cake_jit") -kcp_jit = cake_package("cake_causal_conv1d_train", "kcp_jit") +cake_build = cake_package("cake_causal_conv1d_det_train", "cake_build") +cake_jit = cake_package("cake_causal_conv1d_det_train", "cake_jit") +kcp_jit = cake_package("cake_causal_conv1d_det_train", "kcp_jit") PACKAGE_DIR = Path(cake_build.__file__).parent ARCHES = ("sm_100a", "sm_103a", "sm_107a") @@ -70,7 +70,7 @@ # program name -> (module, build keywords, arches, role, plan, ctas_per_sm) PROGRAMS = { - "cake_causal_conv1d_train_675940a7a4fc0dba4b53": ( + "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp": ( FWD, {}, ARCHES, @@ -78,7 +78,7 @@ FWD_PLAN, 4, ), - "cake_causal_conv1d_train_5288d132a5cc927ae729": ( + "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp": ( BWD, {"vec": 8, "copy": "tma2d"}, ("sm_100a", "sm_103a"), @@ -86,7 +86,7 @@ BWD_TMA_PLAN, 3, ), - "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039": ( + "cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp": ( BWD, {"vec": 8, "min_blocks": 2}, ("sm_107a",), @@ -94,7 +94,7 @@ BWD_PLAN, 2, ), - "cake_causal_conv1d_train_7485529a1755e5bd3036": ( + "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp": ( BWD, {"vec": 8, "copy": "tma2d", "stage_tokens": 8, "min_blocks": 2}, ARCHES, @@ -102,7 +102,7 @@ BWD_TMA_PLAN, 2, ), - "cake_causal_conv1d_train_17cd42fb05079bbbf840": ( + "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp": ( HEAD, {}, ARCHES, @@ -119,7 +119,7 @@ def _identity(module: str, kwargs: dict) -> str: digest = hashlib.sha256( json.dumps(identity, sort_keys=True, separators=(",", ":")).encode() ).hexdigest() - return f"cake_causal_conv1d_train_{digest[:20]}" + return f"cake_causal_conv1d_det_train_{digest[:20]}_kcp" @pytest.mark.cpu_only @@ -171,16 +171,18 @@ def test_routes_and_selection() -> None: for arch in ARCHES: routes = kcp_jit.ROUTES[arch] assert set(routes) == set(kcp_jit.KINDS) - assert routes["kcp_fwd"] == ["cake_causal_conv1d_train_675940a7a4fc0dba4b53"] + assert routes["kcp_fwd"] == [ + "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp" + ] assert routes["kcp_bwd_head"] == [ - "cake_causal_conv1d_train_17cd42fb05079bbbf840" + "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp" ] fallback = ( - "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039" + "cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp" if arch == "sm_107a" - else "cake_causal_conv1d_train_5288d132a5cc927ae729" + else "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp" ) - big = "cake_causal_conv1d_train_7485529a1755e5bd3036" + big = "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp" assert routes["kcp_bwd"] == [fallback, big] assert kcp_jit.route_modules(arch, "kcp_bwd") == (fallback, big) assert kcp_jit.select_rule(kcp_jit.MODULES[big]) == { @@ -197,7 +199,7 @@ def test_routes_and_selection() -> None: routes["kcp_fwd"][0], ) assert kcp_jit.workspace_record(arch)["role"] == "kcp_bwd" - head = kcp_jit.MODULES["cake_causal_conv1d_train_17cd42fb05079bbbf840"] + head = kcp_jit.MODULES["cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp"] assert kcp_jit.head_grid(head, n_frag=3, C=4096) == (3 * 4, 1, 1) assert kcp_jit.head_grid(head, n_frag=0, C=4096) == (1, 1, 1) diff --git a/tests/cpu/test_cake_causal_conv1d_det_train_kcp_knobs.py b/tests/cpu/test_cake_causal_conv1d_det_train_kcp_knobs.py index 1da0c2a5cc4..b388a17e428 100644 --- a/tests/cpu/test_cake_causal_conv1d_det_train_kcp_knobs.py +++ b/tests/cpu/test_cake_causal_conv1d_det_train_kcp_knobs.py @@ -26,7 +26,7 @@ import pytest import torch -from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp +from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp @pytest.mark.cpu_only @@ -174,9 +174,9 @@ def test_graph_public_keyword_mode_and_key(monkeypatch) -> None: w = torch.empty(16, 4, dtype=torch.float32) ctx = types.SimpleNamespace(T_r=8, n_frag=1, world_size=1) for call in ( # validated on the caller's frame, before any device work - lambda: conv_kcp.cake_causal_conv1d_kcp(x, w, ctx, graph="capture"), - lambda: conv_kcp.cake_causal_conv1d_kcp_forward(x, w, ctx, graph="capture"), - lambda: conv_kcp.cake_causal_conv1d_kcp_backward( + lambda: conv_kcp.cake_causal_conv1d_det_kcp(x, w, ctx, graph="capture"), + lambda: conv_kcp.cake_causal_conv1d_det_forward_kcp(x, w, ctx, graph="capture"), + lambda: conv_kcp.cake_causal_conv1d_det_backward_kcp( x, w, ctx, x, x, graph="capture" ), ): @@ -271,8 +271,8 @@ def test_host_trim_ffi_device_and_cpu_refusal(monkeypatch) -> None: @pytest.mark.cpu_only def test_recompute_handle_object() -> None: - h = conv_kcp.KcpRecomputeHandle() - assert conv_kcp.KcpRecomputeHandle.__slots__ == ("entries",) + h = conv_kcp.RecomputeHandleDetKcp() + assert conv_kcp.RecomputeHandleDetKcp.__slots__ == ("entries",) assert h.entries == {} and h.nbytes() == 0 with pytest.raises(AttributeError): h.other = 1 @@ -283,7 +283,7 @@ def test_recompute_handle_object() -> None: h.clear() assert h.entries == {} and h.nbytes() == 0 assert conv_kcp.HANDLE_KEY == "conv" - assert {"KcpRecomputeHandle", "HANDLE_KEY"} <= set(conv_kcp.__all__) + assert {"RecomputeHandleDetKcp", "HANDLE_KEY"} <= set(conv_kcp.__all__) @pytest.mark.cpu_only @@ -301,18 +301,18 @@ def forward(fctx, t): @staticmethod def backward(fctx, g): seen["in_backward"] = conv_kcp._kcp_in_backward() - seen["empty"] = conv_kcp._handle_lookup(conv_kcp.KcpRecomputeHandle()) + seen["empty"] = conv_kcp._handle_lookup(conv_kcp.RecomputeHandleDetKcp()) seen["entry"] = conv_kcp._handle_lookup(full) return g - full = conv_kcp.KcpRecomputeHandle() + full = conv_kcp.RecomputeHandleDetKcp() full.entries["conv"] = {"hist": torch.zeros(1, 8, dtype=torch.bfloat16)} t = torch.zeros(4, requires_grad=True) Probe.apply(t).sum().backward() assert seen["in_backward"] is True assert seen["empty"] is None assert seen["entry"] is full.entries["conv"] and "conv" in full.entries - assert conv_kcp._handle_lookup(conv_kcp.KcpRecomputeHandle()) is None + assert conv_kcp._handle_lookup(conv_kcp.RecomputeHandleDetKcp()) is None with pytest.raises(RuntimeError, match="micro-step"): conv_kcp._handle_lookup(full) with pytest.raises(TypeError, match="entries"): @@ -326,7 +326,7 @@ def test_recompute_handle_needs_the_graph_task_binding(monkeypatch) -> None: monkeypatch.setattr(conv_kcp, "_GRAPH_TASK_ID_BINDING", None) monkeypatch.setattr(conv_kcp, "_GRAPH_TASK_ID_USABLE", None) with pytest.raises(RuntimeError, match="_current_graph_task_id"): - conv_kcp._handle_lookup(conv_kcp.KcpRecomputeHandle()) + conv_kcp._handle_lookup(conv_kcp.RecomputeHandleDetKcp()) with pytest.raises(RuntimeError, match="_current_graph_task_id"): conv_kcp._kcp_in_backward() @@ -362,24 +362,28 @@ def test_recompute_handle_hist_validation() -> None: @pytest.mark.cpu_only def test_facade_reexports_the_handle_lazily() -> None: - """``flashinfer.cake_causal_conv1d_train.KcpRecomputeHandle`` is the backend's class; importing the facade does not - import the KCP host modules (``kcp`` imports torch.distributed; ``kcp_jit``) -- checked in a fresh interpreter; - the facade's KCP entry carries the keyword-only ``recompute_handle=None``.""" + """``flashinfer.cake_causal_conv1d_det_train_kcp.RecomputeHandleDetKcp`` is the backend's class; importing the KCP + facade (or the det facade, which keeps the previous KCP names) does not import the KCP host modules (``kcp`` imports + torch.distributed; ``kcp_jit``) -- checked in a fresh interpreter; the facade's KCP entry carries the keyword-only + ``recompute_handle=None``, and the previous names are the same objects.""" import subprocess import sys code = ( "import inspect, sys\n" - "import flashinfer.cake_causal_conv1d_train as f\n" - "kcp = 'flashinfer.cake_causal_conv1d_train_backend.kcp'\n" - "jit = 'flashinfer.cake_causal_conv1d_train_backend.kcp_jit'\n" + "import flashinfer.cake_causal_conv1d_det_train_kcp as f\n" + "import flashinfer.cake_causal_conv1d_det_train as d\n" + "kcp = 'flashinfer.cake_causal_conv1d_det_train_backend.kcp'\n" + "jit = 'flashinfer.cake_causal_conv1d_det_train_backend.kcp_jit'\n" "assert kcp not in sys.modules and jit not in sys.modules, sorted(m for m in sys.modules if 'kcp' in m)\n" - "p = inspect.signature(f.cake_causal_conv1d_kcp).parameters['recompute_handle']\n" + "p = inspect.signature(f.cake_causal_conv1d_det_kcp).parameters['recompute_handle']\n" "assert p.kind is inspect.Parameter.KEYWORD_ONLY and p.default is None\n" + "assert d.cake_causal_conv1d_kcp is f.cake_causal_conv1d_det_kcp\n" "assert kcp not in sys.modules\n" - "from flashinfer.cake_causal_conv1d_train import KcpRecomputeHandle\n" - "from flashinfer.cake_causal_conv1d_train_backend.kcp import KcpRecomputeHandle as B\n" - "assert KcpRecomputeHandle is B and 'KcpRecomputeHandle' in f.__all__\n" + "from flashinfer.cake_causal_conv1d_det_train_kcp import RecomputeHandleDetKcp\n" + "from flashinfer.cake_causal_conv1d_det_train_backend.kcp import RecomputeHandleDetKcp as B\n" + "from flashinfer.cake_causal_conv1d_det_train_backend.kcp import KcpRecomputeHandle as C\n" + "assert RecomputeHandleDetKcp is B is C is d.KcpRecomputeHandle and 'RecomputeHandleDetKcp' in f.__all__\n" "print('FACADE_IMPORT_OK')\n" ) r = subprocess.run( diff --git a/tests/test_cake_causal_conv1d_det_train_kcp.py b/tests/test_cake_causal_conv1d_det_train_kcp.py index 2f620a30ae4..f7c2751b616 100644 --- a/tests/test_cake_causal_conv1d_det_train_kcp.py +++ b/tests/test_cake_causal_conv1d_det_train_kcp.py @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. -Single-GPU tests of ``cake_causal_conv1d_kcp`` (FlashInfer issue #6919): one process, world size 1, no process +Single-GPU tests of ``cake_causal_conv1d_det_kcp`` (FlashInfer issue #6919): one process, world size 1, no process group. The rank holds every fragment of a partitioned problem (the halo exchange of one rank is the identity), so the history rows, the backward's head rows and the tail fold all run through the host flow. Criteria: @@ -41,15 +41,15 @@ import pytest import torch -from flashinfer.cake_causal_conv1d_train import ( - cake_causal_conv1d_train_backward, - cake_causal_conv1d_train_forward, - is_cake_causal_conv1d_train_supported, +from flashinfer.cake_causal_conv1d_det_train import ( + cake_causal_conv1d_det_train_backward, + cake_causal_conv1d_det_train_forward, + is_cake_causal_conv1d_det_train_supported, ) -from flashinfer.cake_causal_conv1d_train_backend.kcp import ( - cake_causal_conv1d_kcp, - cake_causal_conv1d_kcp_backward, - cake_causal_conv1d_kcp_forward, +from flashinfer.cake_causal_conv1d_det_train_backend.kcp import ( + cake_causal_conv1d_det_kcp, + cake_causal_conv1d_det_backward_kcp, + cake_causal_conv1d_det_forward_kcp, ) WIDTH = 4 @@ -63,8 +63,8 @@ pytestmark = pytest.mark.skipif( not torch.cuda.is_available() - or not is_cake_causal_conv1d_train_supported(torch.device("cuda")), - reason="cake_causal_conv1d_train needs a supported CUDA device (SM100 / SM103 / SM107)", + or not is_cake_causal_conv1d_det_train_supported(torch.device("cuda")), + reason="cake_causal_conv1d_det_train needs a supported CUDA device (SM100 / SM103 / SM107)", ) # Rows: (document lengths, fragment lengths over the packed sequence); each fragment is cut at document @@ -344,8 +344,8 @@ def _bits(t): def test_forward_matches_unpartitioned_bitwise(name, lens, cuts, C): device = torch.device("cuda") p = _problem(lens, cuts, C, device) - y_local, hist = cake_causal_conv1d_kcp_forward(p.x_local, p.w, p.ctx) - y_global = cake_causal_conv1d_train_forward(p.x, p.w, p.cu) + y_local, hist = cake_causal_conv1d_det_forward_kcp(p.x_local, p.w, p.ctx) + y_global = cake_causal_conv1d_det_train_forward(p.x, p.w, p.cu) torch.cuda.synchronize() assert hist.shape[0] == max(1, p.ctx.halo.n_hist_rows) assert not y_local.isnan().any() @@ -366,8 +366,8 @@ def test_backward_matches_reference_and_folds_tails_bitwise( ): device = torch.device("cuda") p = _problem(lens, cuts, C, device) - _, hist = cake_causal_conv1d_kcp_forward(p.x_local, p.w, p.ctx) - dx_local, dw_local = cake_causal_conv1d_kcp_backward( + _, hist = cake_causal_conv1d_det_forward_kcp(p.x_local, p.w, p.ctx) + dx_local, dw_local = cake_causal_conv1d_det_backward_kcp( p.x_local, p.w, p.ctx, p.dy_local, hist ) torch.cuda.synchronize() @@ -382,7 +382,7 @@ def test_backward_matches_reference_and_folds_tails_bitwise( ) # (b) dx against the shipped zero-history backward (policy A) on the unpartitioned documents: the elementwise # clause for a context-parallel result against the no-CP kernel; the measured difference is recorded. - dx_nocp, _ = cake_causal_conv1d_train_backward(p.x, p.w, p.cu, p.dy) + dx_nocp, _ = cake_causal_conv1d_det_train_backward(p.x, p.w, p.cu, p.dy) stats = _assert_within( dx_local, dx_nocp[p.l2g], @@ -395,8 +395,8 @@ def test_backward_matches_reference_and_folds_tails_bitwise( # (c) The unpartitioned problem through the same host flow (one fragment per document, no halo rows): the fold # of the received dpre rows reproduces its dx bit for bit. whole = _problem(lens, tuple(lens), C, device) - _, hist_w = cake_causal_conv1d_kcp_forward(whole.x_local, whole.w, whole.ctx) - dx_whole, _ = cake_causal_conv1d_kcp_backward( + _, hist_w = cake_causal_conv1d_det_forward_kcp(whole.x_local, whole.w, whole.ctx) + dx_whole, _ = cake_causal_conv1d_det_backward_kcp( whole.x_local, whole.w, whole.ctx, whole.dy_local, hist_w ) torch.cuda.synchronize() @@ -414,11 +414,11 @@ def test_autograd_function_and_repeat_are_bitwise(name, lens, cuts, C, record_pr for _ in range(2): x = p.x_local.clone().requires_grad_(True) w = p.w.clone().requires_grad_(True) - y = cake_causal_conv1d_kcp(x, w, p.ctx) + y = cake_causal_conv1d_det_kcp(x, w, p.ctx) y.backward(p.dy_local) runs.append((y.detach(), x.grad, w.grad)) - y_direct, hist = cake_causal_conv1d_kcp_forward(p.x_local, p.w, p.ctx) - dx_direct, dw_direct = cake_causal_conv1d_kcp_backward( + y_direct, hist = cake_causal_conv1d_det_forward_kcp(p.x_local, p.w, p.ctx) + dx_direct, dw_direct = cake_causal_conv1d_det_backward_kcp( p.x_local, p.w, p.ctx, p.dy_local, hist ) torch.cuda.synchronize() @@ -441,7 +441,7 @@ def test_autograd_function_and_repeat_are_bitwise(name, lens, cuts, C, record_pr _assert_within(dw1, dw_ref, atol=DW_ATOL, rtol=DW_RTOL, label="dw vs FP64 oracle") # (b) dx against the shipped zero-history backward (policy A) on the unpartitioned documents under the no-CP # clause; the two policies' difference is recorded for the report (it is not a bitwise relation). - dx_nocp, _ = cake_causal_conv1d_train_backward(p.x, p.w, p.cu, p.dy) + dx_nocp, _ = cake_causal_conv1d_det_train_backward(p.x, p.w, p.cu, p.dy) stats = _assert_within( dx1, dx_nocp[p.l2g], atol=NOCP_ATOL, rtol=NOCP_RTOL, label="dx vs no-CP kernel" ) @@ -455,8 +455,8 @@ def test_empty_rank_returns_empty_outputs(): ctx, S, _, _ = _context((0,), (0,), device) x = torch.empty(0, C, dtype=torch.bfloat16, device=device) w = torch.randn(C, WIDTH, device=device) - y, hist = cake_causal_conv1d_kcp_forward(x, w, ctx) - dx, dw = cake_causal_conv1d_kcp_backward(x, w, ctx, torch.empty_like(x), hist) + y, hist = cake_causal_conv1d_det_forward_kcp(x, w, ctx) + dx, dw = cake_causal_conv1d_det_backward_kcp(x, w, ctx, torch.empty_like(x), hist) assert y.shape == (0, C) and dx.shape == (0, C) assert torch.equal(dw, torch.zeros_like(dw)) @@ -465,7 +465,7 @@ def test_rejects_mismatched_context(): device = torch.device("cuda") p = _problem((5000, 1003), (1, 2, 4997, 1003), 512, device) with pytest.raises(ValueError): - cake_causal_conv1d_kcp_forward(p.x_local[:-1].contiguous(), p.w, p.ctx) + cake_causal_conv1d_det_forward_kcp(p.x_local[:-1].contiguous(), p.w, p.ctx) def test_kcp_keeps_fp32_taps_and_no_bias(): @@ -475,9 +475,9 @@ def test_kcp_keeps_fp32_taps_and_no_bias(): device = torch.device("cuda") p = _problem((5000, 1003), (1, 2, 4997, 1003), 512, device) with pytest.raises(ValueError, match="weight must be torch.float32"): - cake_causal_conv1d_kcp_forward(p.x_local, p.w.to(torch.bfloat16), p.ctx) + cake_causal_conv1d_det_forward_kcp(p.x_local, p.w.to(torch.bfloat16), p.ctx) with pytest.raises(ValueError, match="weight must be torch.float32"): - cake_causal_conv1d_kcp_backward( + cake_causal_conv1d_det_backward_kcp( p.x_local, p.w.to(torch.bfloat16), p.ctx, @@ -486,9 +486,9 @@ def test_kcp_keeps_fp32_taps_and_no_bias(): ) bias = torch.zeros(p.C, device=device) with pytest.raises(TypeError): - cake_causal_conv1d_kcp_forward(p.x_local, p.w, p.ctx, bias=bias) + cake_causal_conv1d_det_forward_kcp(p.x_local, p.w, p.ctx, bias=bias) with pytest.raises(TypeError): - cake_causal_conv1d_kcp(p.x_local, p.w, p.ctx, bias) + cake_causal_conv1d_det_kcp(p.x_local, p.w, p.ctx, bias) def test_kcp_plans_with_the_legacy_tile_rule(monkeypatch): @@ -496,8 +496,8 @@ def test_kcp_plans_with_the_legacy_tile_rule(monkeypatch): n_ch_tiles) = (128, 1, 2)`` (the training routes tile it as (32, 4, 5)), and the forward's ``y`` stays bitwise the unpartitioned forward's.""" - from flashinfer.cake_causal_conv1d_train_backend import cake_jit - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer.cake_causal_conv1d_det_train_backend import cake_jit + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp geometry = {"threads": 128, "vec": 8} legacy = cake_jit.plan(5000, 1280, 2, geometry=geometry, legacy=True) @@ -514,10 +514,12 @@ def recording_plan(*args, **kwargs): monkeypatch.setattr(conv_kcp, "plan", recording_plan) device = torch.device("cuda") p = _problem((5000, 1003), (1, 2, 4997, 1003), 1280, device) - y, hist = cake_causal_conv1d_kcp_forward(p.x_local, p.w, p.ctx) - dx, dw = cake_causal_conv1d_kcp_backward(p.x_local, p.w, p.ctx, p.dy_local, hist) + y, hist = cake_causal_conv1d_det_forward_kcp(p.x_local, p.w, p.ctx) + dx, dw = cake_causal_conv1d_det_backward_kcp( + p.x_local, p.w, p.ctx, p.dy_local, hist + ) assert len(calls) == 2 and all(call.get("legacy") is True for call in calls), calls - y_full = cake_causal_conv1d_train_forward(p.x, p.w, p.cu) + y_full = cake_causal_conv1d_det_train_forward(p.x, p.w, p.cu) assert torch.equal(y, y_full[p.l2g]) assert torch.isfinite(dw).all() and dx.shape == p.x_local.shape @@ -529,14 +531,14 @@ def test_graph_replay_knob_is_bitwise(monkeypatch, form) -> None: the second is captured and replayed once, later calls replay the graph; ``y`` / ``hist`` / ``dx`` / ``dweight`` are bitwise the knob-off results on every call. The backward's key holds the forward's ``hist`` pointer, so its capture follows the forward's by one call. Another input pointer is another key (eager, still bitwise).""" - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp device = torch.device("cuda") p = _problem((5000, 1003), (1, 2, 4997, 1003), 512, device) x, w, ctx = p.x_local, p.w, p.ctx dy = torch.randn(x.shape, device=device).to(torch.bfloat16) - y0, hist0 = cake_causal_conv1d_kcp_forward(x, w, ctx) - dx0, dw0 = cake_causal_conv1d_kcp_backward(x, w, ctx, dy, hist0) + y0, hist0 = cake_causal_conv1d_det_forward_kcp(x, w, ctx) + dx0, dw0 = cake_causal_conv1d_det_backward_kcp(x, w, ctx, dy, hist0) kw = {} if form == "knob": monkeypatch.setenv(conv_kcp.TEST_KNOBS_ENV, "1") @@ -546,10 +548,10 @@ def test_graph_replay_knob_is_bitwise(monkeypatch, form) -> None: try: events = [] for _ in range(4): - y, hist = cake_causal_conv1d_kcp_forward(x, w, ctx, **kw) + y, hist = cake_causal_conv1d_det_forward_kcp(x, w, ctx, **kw) events.append(conv_kcp.LAST_CALL["fwd"]["graph_event"]) assert torch.equal(y, y0) and torch.equal(hist, hist0) - dx, dw = cake_causal_conv1d_kcp_backward(x, w, ctx, dy, hist, **kw) + dx, dw = cake_causal_conv1d_det_backward_kcp(x, w, ctx, dy, hist, **kw) events.append(conv_kcp.LAST_CALL["bwd"]["graph_event"]) assert torch.equal(dx, dx0) and torch.equal(dw, dw0) assert events == [ @@ -563,14 +565,14 @@ def test_graph_replay_knob_is_bitwise(monkeypatch, form) -> None: "replay", ], events assert conv_kcp.GRAPH_STATS["fallback"] == 0 - y, hist = cake_causal_conv1d_kcp_forward(x.clone(), w, ctx, **kw) + y, hist = cake_causal_conv1d_det_forward_kcp(x.clone(), w, ctx, **kw) assert conv_kcp.LAST_CALL["fwd"]["graph_event"] == "eager" assert torch.equal(y, y0) and torch.equal(hist, hist0) if ( form == "keyword" ): # the autograd entry carries the keyword to the forward and to the backward xg = x.clone().requires_grad_(True) - y = conv_kcp.cake_causal_conv1d_kcp(xg, w, ctx, graph="replay") + y = conv_kcp.cake_causal_conv1d_det_kcp(xg, w, ctx, graph="replay") assert conv_kcp.LAST_CALL["fwd"]["graph"] == "replay" assert torch.equal(y.detach(), y0) y.backward(dy) @@ -579,7 +581,7 @@ def test_graph_replay_knob_is_bitwise(monkeypatch, form) -> None: finally: conv_kcp._set_test_knobs(None) conv_kcp._GRAPHS.clear() - y, hist = cake_causal_conv1d_kcp_forward(x, w, ctx) + y, hist = cake_causal_conv1d_det_forward_kcp(x, w, ctx) assert torch.equal(y, y0) and torch.equal(hist, hist0) @@ -587,7 +589,7 @@ def test_graph_replay_knob_is_bitwise(monkeypatch, form) -> None: # Recompute handle (issues #7815 / #7818): torch's checkpoint recompute binds the history pool the original forward # stored instead of gathering and exchanging it again. One rank here (the exchange of one rank is the identity, so # the module's ``_exchange`` calls are counted instead of collectives: one in the original forward, one in the -# backward, none in a recompute with a handle); the NCCL rows are in test_cake_causal_conv1d_train_kcp_dist.py. +# backward, none in a recompute with a handle); the NCCL rows are in test_cake_causal_conv1d_det_train_kcp_dist.py. class _ExchangeCounter: @@ -626,19 +628,19 @@ def table(self) -> dict[str, int]: def _ckpt_run(p, *, handle=None, reentrant=False, ckpt=True, counter=None, twice=False): - """``y`` / ``dx`` / ``dweight`` of ``cake_causal_conv1d_kcp`` (the facade) on the problem ``p``, directly or under a + """``y`` / ``dx`` / ``dweight`` of ``cake_causal_conv1d_det_kcp`` (the facade) on the problem ``p``, directly or under a checkpoint, with ``recompute_handle=handle``.""" import contextlib from torch.utils.checkpoint import checkpoint - from flashinfer import cake_causal_conv1d_train as facade + from flashinfer import cake_causal_conv1d_det_train_kcp as facade x = p.x_local.clone().requires_grad_(True) w = p.w.clone().requires_grad_(True) def fn(x_, w_, h_): - return facade.cake_causal_conv1d_kcp(x_, w_, p.ctx, recompute_handle=h_) + return facade.cake_causal_conv1d_det_kcp(x_, w_, p.ctx, recompute_handle=h_) if not ckpt: y = fn(x, w, handle) @@ -675,12 +677,12 @@ def test_recompute_handle_is_bitwise_and_exchange_free( ``y`` / ``dx`` / ``dweight`` are bitwise the plain checkpoint's, the direct pass's and the explicit forward / backward calls' (``recompute_handle=None`` is the unchanged path); the handle holds exactly the history pool, the saved set's own tensor.""" - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp device = torch.device("cuda") p = _problem(lens, cuts, C, device) - y_e, hist_e = cake_causal_conv1d_kcp_forward(p.x_local, p.w, p.ctx) - dx_e, dw_e = cake_causal_conv1d_kcp_backward( + y_e, hist_e = cake_causal_conv1d_det_forward_kcp(p.x_local, p.w, p.ctx) + dx_e, dw_e = cake_causal_conv1d_det_backward_kcp( p.x_local, p.w, p.ctx, p.dy_local, hist_e ) explicit = {"y": y_e, "dx": dx_e, "dw": dw_e} @@ -688,7 +690,7 @@ def test_recompute_handle_is_bitwise_and_exchange_free( plain_cc = _ExchangeCounter(monkeypatch, conv_kcp) plain = _ckpt_run(p, reentrant=reentrant, counter=plain_cc) monkeypatch.undo() - handle = conv_kcp.KcpRecomputeHandle() + handle = conv_kcp.RecomputeHandleDetKcp() cc = _ExchangeCounter(monkeypatch, conv_kcp) conv_kcp.LAST_CALL.pop("recompute_handle", None) got = _ckpt_run(p, handle=handle, reentrant=reentrant, counter=cc) @@ -726,14 +728,16 @@ def test_recompute_handle_retain_graph_and_nested_checkpoints(monkeypatch) -> No from torch.utils.checkpoint import checkpoint - from flashinfer import cake_causal_conv1d_train as facade - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer import cake_causal_conv1d_det_train_kcp as facade + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp device = torch.device("cuda") p = _problem((5000, 1003), (1, 2, 4997, 1003), 512, device) direct = _ckpt_run(p, ckpt=False) cc = _ExchangeCounter(monkeypatch, conv_kcp) - twice = _ckpt_run(p, handle=conv_kcp.KcpRecomputeHandle(), counter=cc, twice=True) + twice = _ckpt_run( + p, handle=conv_kcp.RecomputeHandleDetKcp(), counter=cc, twice=True + ) assert cc.table() == {"orig": 1, "recompute": 0, "bwd": 2} assert torch.equal(_bits(twice["dx"]), _bits(direct["dx"] + direct["dx"])) assert torch.equal(_bits(twice["dw"]), _bits(direct["dw"] + direct["dw"])) @@ -745,10 +749,10 @@ def nested(inside: bool): w = p.w.clone().requires_grad_(True) def inner(x_, w_, h_): - return facade.cake_causal_conv1d_kcp(x_, w_, p.ctx, recompute_handle=h_) + return facade.cake_causal_conv1d_det_kcp(x_, w_, p.ctx, recompute_handle=h_) def outer(x_, w_, h_): - hh = conv_kcp.KcpRecomputeHandle() if inside else h_ + hh = conv_kcp.RecomputeHandleDetKcp() if inside else h_ yi = checkpoint(inner, x_, w_, hh, use_reentrant=False) return yi * torch.ones_like( yi @@ -758,7 +762,7 @@ def outer(x_, w_, h_): outer, x, w, - conv_kcp.KcpRecomputeHandle(), + conv_kcp.RecomputeHandleDetKcp(), use_reentrant=False, context_fn=lambda: (contextlib.nullcontext(), counter.recompute_cm()), ) @@ -782,55 +786,63 @@ def test_recompute_handle_misuse_raises() -> None: lost its entry before the recompute makes it an original forward again (exchanges, still bitwise).""" from torch.utils.checkpoint import checkpoint - from flashinfer import cake_causal_conv1d_train as facade - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer import cake_causal_conv1d_det_train_kcp as facade + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp device = torch.device("cuda") p = _problem((5000, 1003), (1, 2, 4997, 1003), 512, device) - handle = conv_kcp.KcpRecomputeHandle() - facade.cake_causal_conv1d_kcp(p.x_local, p.w, p.ctx, recompute_handle=handle) + handle = conv_kcp.RecomputeHandleDetKcp() + facade.cake_causal_conv1d_det_kcp(p.x_local, p.w, p.ctx, recompute_handle=handle) assert conv_kcp.LAST_CALL["recompute_handle"] == {"fwd": "capture"} with pytest.raises(RuntimeError, match="per call and micro-step"): - facade.cake_causal_conv1d_kcp(p.x_local, p.w, p.ctx, recompute_handle=handle) + facade.cake_causal_conv1d_det_kcp( + p.x_local, p.w, p.ctx, recompute_handle=handle + ) with pytest.raises(ValueError, match="graph='off'"): - conv_kcp.cake_causal_conv1d_kcp( + conv_kcp.cake_causal_conv1d_det_kcp( p.x_local, p.w, p.ctx, graph="replay", - recompute_handle=conv_kcp.KcpRecomputeHandle(), + recompute_handle=conv_kcp.RecomputeHandleDetKcp(), ) with pytest.raises(TypeError, match="entries"): - facade.cake_causal_conv1d_kcp(p.x_local, p.w, p.ctx, recompute_handle=object()) + facade.cake_causal_conv1d_det_kcp( + p.x_local, p.w, p.ctx, recompute_handle=object() + ) graph = torch.cuda.CUDAGraph() with pytest.raises(ValueError, match="capture"), torch.cuda.graph(graph): - conv_kcp.cake_causal_conv1d_kcp( - p.x_local, p.w, p.ctx, recompute_handle=conv_kcp.KcpRecomputeHandle() + conv_kcp.cake_causal_conv1d_det_kcp( + p.x_local, p.w, p.ctx, recompute_handle=conv_kcp.RecomputeHandleDetKcp() ) del graph # the public autograd Function refuses like the wrapper (graph keyword, capture, no entries dict) - fresh = conv_kcp.KcpRecomputeHandle() + fresh = conv_kcp.RecomputeHandleDetKcp() with pytest.raises(ValueError, match="graph='off'"): - conv_kcp.CakeCausalConv1dKcpFunction.apply( + conv_kcp.CakeCausalConv1dDetFunctionKcp.apply( p.x_local, p.w, p.ctx, "replay", fresh ) with pytest.raises(TypeError, match="entries"): - conv_kcp.CakeCausalConv1dKcpFunction.apply( + conv_kcp.CakeCausalConv1dDetFunctionKcp.apply( p.x_local, p.w, p.ctx, None, object() ) graph = torch.cuda.CUDAGraph() with pytest.raises(ValueError, match="capture"), torch.cuda.graph(graph): - conv_kcp.CakeCausalConv1dKcpFunction.apply(p.x_local, p.w, p.ctx, None, fresh) + conv_kcp.CakeCausalConv1dDetFunctionKcp.apply( + p.x_local, p.w, p.ctx, None, fresh + ) del graph assert not fresh.entries, "a refused call stored an entry" # a recompute whose entry belongs to another context / problem raises inside the backward other = _problem((5000, 1003), (1, 2, 4997, 1003), 512, device) for tamper in ("ctx", "key"): - h = conv_kcp.KcpRecomputeHandle() + h = conv_kcp.RecomputeHandleDetKcp() x = p.x_local.clone().requires_grad_(True) def fn(x_, h_): - return facade.cake_causal_conv1d_kcp(x_, p.w, p.ctx, recompute_handle=h_) + return facade.cake_causal_conv1d_det_kcp( + x_, p.w, p.ctx, recompute_handle=h_ + ) y = checkpoint(fn, x, h, use_reentrant=False) if tamper == "ctx": @@ -841,11 +853,11 @@ def fn(x_, h_): y.backward(p.dy_local) # the entry dropped before the recompute: the recompute is an original forward (exchanges and stores) direct = _ckpt_run(p, ckpt=False) - h = conv_kcp.KcpRecomputeHandle() + h = conv_kcp.RecomputeHandleDetKcp() x = p.x_local.clone().requires_grad_(True) w = p.w.clone().requires_grad_(True) y = checkpoint( - lambda x_, w_, h_: facade.cake_causal_conv1d_kcp( + lambda x_, w_, h_: facade.cake_causal_conv1d_det_kcp( x_, w_, p.ctx, recompute_handle=h_ ), x, @@ -861,21 +873,21 @@ def fn(x_, h_): def test_recompute_handle_knob_graph_is_refused(monkeypatch) -> None: - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp device = torch.device("cuda") p = _problem((65,), (64, 1), 256, device) monkeypatch.setenv(conv_kcp.TEST_KNOBS_ENV, "1") conv_kcp._set_test_knobs({"graph": "replay"}) - handle = conv_kcp.KcpRecomputeHandle() + handle = conv_kcp.RecomputeHandleDetKcp() try: with pytest.raises(ValueError, match="graph='off'"): - conv_kcp.cake_causal_conv1d_kcp( + conv_kcp.cake_causal_conv1d_det_kcp( p.x_local, p.w, p.ctx, recompute_handle=handle ) # the public autograd Function refuses the knob too with pytest.raises(ValueError, match="graph='off'"): - conv_kcp.CakeCausalConv1dKcpFunction.apply( + conv_kcp.CakeCausalConv1dDetFunctionKcp.apply( p.x_local, p.w, p.ctx, None, handle ) finally: @@ -888,7 +900,7 @@ def test_recompute_handle_knob_graph_is_refused(monkeypatch) -> None: def test_recompute_handle_both_host_paths(monkeypatch, host_trim) -> None: """The replay binds the stored pool on the trimmed and on the previous host path alike: bitwise, and no exchange in the recompute (the plain checkpoint, the positive control, exchanges once there).""" - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp device = torch.device("cuda") p = _problem((1, 2, 3, 57), (3, 30, 30), 384, device) @@ -902,7 +914,7 @@ def test_recompute_handle_both_host_paths(monkeypatch, host_trim) -> None: # the next counter wraps the module's own exchange, not the first counter monkeypatch.setattr(conv_kcp, "_exchange", exchange) cc = _ExchangeCounter(monkeypatch, conv_kcp) - got = _ckpt_run(p, handle=conv_kcp.KcpRecomputeHandle(), counter=cc) + got = _ckpt_run(p, handle=conv_kcp.RecomputeHandleDetKcp(), counter=cc) assert conv_kcp.LAST_CALL["recompute_handle"] == {"fwd": "replay"} finally: conv_kcp._set_test_knobs(None) diff --git a/tests/test_cake_causal_conv1d_det_train_kcp_dist.py b/tests/test_cake_causal_conv1d_det_train_kcp_dist.py index f5ecbf6995f..773af78ccb0 100644 --- a/tests/test_cake_causal_conv1d_det_train_kcp_dist.py +++ b/tests/test_cake_causal_conv1d_det_train_kcp_dist.py @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. -Multi-GPU rows of ``cake_causal_conv1d_kcp`` under ``torch.utils.checkpoint`` with and without a recompute handle +Multi-GPU rows of ``cake_causal_conv1d_det_kcp`` under ``torch.utils.checkpoint`` with and without a recompute handle (FlashInfer issues #7815 / #7818): ``W`` ranks over NCCL, each holding the fragments of one partition of a packed batch (contiguous, zigzag, per-document zigzag, ragged tables with a zero-token rank, one-token fragments and a fragment that reads its history from three predecessor ranks). Per row and rank: @@ -203,8 +203,9 @@ def _run_rank( ) -> dict: from torch.utils.checkpoint import checkpoint - from flashinfer import cake_causal_conv1d_train as conv - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer import cake_causal_conv1d_det_train as conv + from flashinfer import cake_causal_conv1d_det_train_kcp as kcp_api + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp from flashinfer.experimental.cake_kda_train import cake_kcp_plan as plan lengths, _w, layout, C = row @@ -233,7 +234,7 @@ def leaves(): ), w.detach().clone().requires_grad_(True) def fn(x_, w_, h_): - return conv.cake_causal_conv1d_kcp(x_, w_, ctx, recompute_handle=h_) + return kcp_api.cake_causal_conv1d_det_kcp(x_, w_, ctx, recompute_handle=h_) def run(mode: str, handle=None, *, twice: bool = False, reentrant: bool = False): """mode: direct | ckpt | nested_out (handle outside both regions) | nested_in (handle made in the outer).""" @@ -259,7 +260,7 @@ def run(mode: str, handle=None, *, twice: bool = False, reentrant: bool = False) def outer(x_, w_, h_): # the product with ones saves a tensor of the outer region (so the outer recompute runs) and # changes no bit of y or of its gradient - hh = conv_kcp.KcpRecomputeHandle() if mode == "nested_in" else h_ + hh = conv_kcp.RecomputeHandleDetKcp() if mode == "nested_in" else h_ yi = checkpoint(fn, x_, w_, hh, use_reentrant=False) return yi * torch.ones_like(yi) @@ -300,10 +301,10 @@ def eq(a, b) -> bool: info: dict[str, object] = {"n_hist_rows": n_hist, "T_r": int(x.shape[0])} direct, c_direct = run("direct") plain, c_plain = run("ckpt") - hd = conv_kcp.KcpRecomputeHandle() + hd = conv_kcp.RecomputeHandleDetKcp() withh, c_h = run("ckpt", hd) plain_re, c_plain_re = run("ckpt", reentrant=True) - hd_re = conv_kcp.KcpRecomputeHandle() + hd_re = conv_kcp.RecomputeHandleDetKcp() withh_re, c_h_re = run("ckpt", hd_re, reentrant=True) info["counts"] = { "direct": c_direct, @@ -314,7 +315,7 @@ def eq(a, b) -> bool: } # anchor: y is the single-rank zero-history convolution of the whole pack on this rank's tokens cu_dev = torch.tensor(cu, dtype=torch.int32, device=device) - y_single = conv.cake_causal_conv1d(x_all.to(device), w, cu_dev) + y_single = conv.cake_causal_conv1d_det(x_all.to(device), w, cu_dev) flags["y_eq_single_rank"] = same(direct["y"], _local(part, rank, cu, y_single)) flags["plain_eq_direct"] = eq(plain, direct) flags["handle_eq_plain"] = eq(withh, plain) @@ -340,7 +341,7 @@ def eq(a, b) -> bool: and hd.entries["conv"]["hist"].shape == (n_hist, C) ) # retain_graph: the entry is replayed again, no collective; exactly twice the gradients - hd2 = conv_kcp.KcpRecomputeHandle() + hd2 = conv_kcp.RecomputeHandleDetKcp() twice, c_twice = run("ckpt", hd2, twice=True) info["counts"]["handle_twice"] = c_twice flags["twice_accumulates"] = ( @@ -349,8 +350,8 @@ def eq(a, b) -> bool: and c_twice["calls"] == {"orig": 1, "recompute": 0, "bwd": 2} ) # nested checkpoints - nest_out, c_nest_out = run("nested_out", conv_kcp.KcpRecomputeHandle()) - nest_in, c_nest_in = run("nested_in", conv_kcp.KcpRecomputeHandle()) + nest_out, c_nest_out = run("nested_out", conv_kcp.RecomputeHandleDetKcp()) + nest_in, c_nest_in = run("nested_in", conv_kcp.RecomputeHandleDetKcp()) info["counts"]["nested_out"], info["counts"]["nested_in"] = c_nest_out, c_nest_in flags["nested_out_bitwise"] = eq(nest_out, direct) flags["nested_in_bitwise"] = eq(nest_in, direct) @@ -369,7 +370,7 @@ def eq(a, b) -> bool: } # retained bytes after a checkpointed forward (after the warm-up above): the history pool with a handle, 0 without retained = {} - for name, h in (("plain", None), ("handle", conv_kcp.KcpRecomputeHandle())): + for name, h in (("plain", None), ("handle", conv_kcp.RecomputeHandleDetKcp())): xl, wl = leaves() torch.cuda.synchronize(device) gc.collect() @@ -423,11 +424,11 @@ def _free_port() -> int: def _supported() -> bool: if not torch.cuda.is_available(): return False - from flashinfer.cake_causal_conv1d_train import ( - is_cake_causal_conv1d_train_supported, + from flashinfer.cake_causal_conv1d_det_train import ( + is_cake_causal_conv1d_det_train_supported, ) - return is_cake_causal_conv1d_train_supported(torch.device("cuda")) + return is_cake_causal_conv1d_det_train_supported(torch.device("cuda")) @pytest.mark.parametrize("row", ROWS, ids=_row_id) @@ -451,7 +452,7 @@ def test_recompute_handle_rows(row) -> None: assert report["pass"], report return if not _supported(): - pytest.skip("cake_causal_conv1d_train needs a supported CUDA device") + pytest.skip("cake_causal_conv1d_det_train needs a supported CUDA device") if torch.cuda.device_count() < W: pytest.skip(f"{W} CUDA devices required, {torch.cuda.device_count()} visible") with tempfile.TemporaryDirectory(prefix="cake_conv_kcp_dist_") as tmp: diff --git a/tests/test_cake_causal_conv1d_det_train_kcp_multi.py b/tests/test_cake_causal_conv1d_det_train_kcp_multi.py index e60d143fd09..63e4f4e81a1 100644 --- a/tests/test_cake_causal_conv1d_det_train_kcp_multi.py +++ b/tests/test_cake_causal_conv1d_det_train_kcp_multi.py @@ -13,13 +13,13 @@ See the License for the specific language governing permissions and limitations under the License. -Single-GPU tests of ``cake_causal_conv1d_kcp_multi`` (FlashInfer issue #7815): the convolutions of several tensors of +Single-GPU tests of ``cake_causal_conv1d_det_multi_kcp`` (FlashInfer issue #7815): the convolutions of several tensors of one layer (q / k / v) with one halo exchange per direction. One process, world size 1 (the rank holds every fragment of a partitioned problem, so history rows, head rows and the tail fold all run; one rank issues no collective). The -criterion is bitwise equality with one ``cake_causal_conv1d_kcp`` call per tensor: ``y``, ``hist``, ``dx`` and +criterion is bitwise equality with one ``cake_causal_conv1d_det_kcp`` call per tensor: ``y``, ``hist``, ``dx`` and ``dweight`` -- through the explicit forward / backward functions, the autograd entry, the facade, a checkpoint with and without a recompute handle, and graph replay. The NCCL rows (one collective per direction) are in -``test_cake_causal_conv1d_train_kcp_multi_dist.py``. +``test_cake_causal_conv1d_det_train_kcp_multi_dist.py``. """ from __future__ import annotations @@ -29,13 +29,15 @@ import pytest import torch -from flashinfer.cake_causal_conv1d_train import is_cake_causal_conv1d_train_supported -from tests.test_cake_causal_conv1d_train_kcp import ROWS, WIDTH, _context +from flashinfer.cake_causal_conv1d_det_train import ( + is_cake_causal_conv1d_det_train_supported, +) +from tests.test_cake_causal_conv1d_det_train_kcp import ROWS, WIDTH, _context pytestmark = pytest.mark.skipif( not torch.cuda.is_available() - or not is_cake_causal_conv1d_train_supported(torch.device("cuda")), - reason="cake_causal_conv1d_train needs a supported CUDA device (SM100 / SM103 / SM107)", + or not is_cake_causal_conv1d_det_train_supported(torch.device("cuda")), + reason="cake_causal_conv1d_det_train needs a supported CUDA device (SM100 / SM103 / SM107)", ) # The single-call rows, each with three tensors of the row's C, plus rows whose tensors have different channel counts @@ -56,7 +58,7 @@ def _same(a, b) -> bool: def _kcp(): - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp return conv_kcp @@ -76,8 +78,8 @@ def _problem(lens, cuts, Cs, device, seed=7815): def _singles_explicit(conv_kcp, ctx, xs, ws, dys): out = [] for x, w, dy in zip(xs, ws, dys, strict=True): - y, hist = conv_kcp.cake_causal_conv1d_kcp_forward(x, w, ctx) - dx, dw = conv_kcp.cake_causal_conv1d_kcp_backward(x, w, ctx, dy, hist) + y, hist = conv_kcp.cake_causal_conv1d_det_forward_kcp(x, w, ctx) + dx, dw = conv_kcp.cake_causal_conv1d_det_backward_kcp(x, w, ctx, dy, hist) out.append({"y": y, "hist": hist, "dx": dx, "dw": dw}) return out @@ -88,8 +90,10 @@ def test_multi_forward_backward_bitwise_single_calls(name, lens, cuts, Cs) -> No device = torch.device("cuda") ctx, xs, ws, dys = _problem(lens, cuts, Cs, device) ref = _singles_explicit(conv_kcp, ctx, xs, ws, dys) - ys, hists = conv_kcp.cake_causal_conv1d_kcp_multi_forward(xs, ws, ctx) - dxs, dws = conv_kcp.cake_causal_conv1d_kcp_multi_backward(xs, ws, ctx, dys, hists) + ys, hists = conv_kcp.cake_causal_conv1d_det_multi_forward_kcp(xs, ws, ctx) + dxs, dws = conv_kcp.cake_causal_conv1d_det_multi_backward_kcp( + xs, ws, ctx, dys, hists + ) torch.cuda.synchronize() assert len(ys) == len(hists) == len(dxs) == len(dws) == len(Cs) for i, r in enumerate(ref): @@ -99,10 +103,10 @@ def test_multi_forward_backward_bitwise_single_calls(name, lens, cuts, Cs) -> No assert _same(dws[i], r["dw"]), (name, i, "dweight") # caller-owned outputs are written in place, same bits outs = [torch.empty_like(x) for x in xs] - ys2, _ = conv_kcp.cake_causal_conv1d_kcp_multi_forward(xs, ws, ctx, outs=outs) + ys2, _ = conv_kcp.cake_causal_conv1d_det_multi_forward_kcp(xs, ws, ctx, outs=outs) dx_o = [torch.empty_like(x) for x in xs] dw_o = [torch.empty_like(w) for w in ws] - dxs2, dws2 = conv_kcp.cake_causal_conv1d_kcp_multi_backward( + dxs2, dws2 = conv_kcp.cake_causal_conv1d_det_multi_backward_kcp( xs, ws, ctx, dys, hists, dxs=dx_o, dweights=dw_o ) for i, r in enumerate(ref): @@ -117,7 +121,7 @@ def test_multi_autograd_and_facade_bitwise_single_calls( name, lens, cuts, Cs, batched ) -> None: """The autograd entry and the facade against one autograd single call per tensor (and ``[1, T_r, C]`` inputs).""" - from flashinfer import cake_causal_conv1d_train as facade + from flashinfer import cake_causal_conv1d_det_train_kcp as facade device = torch.device("cuda") ctx, xs, ws, dys = _problem(lens, cuts, Cs, device) @@ -129,10 +133,10 @@ def run(multi: bool): xl = [x.clone().requires_grad_(True) for x in xs] wl = [w.clone().requires_grad_(True) for w in ws] if multi: - ys = facade.cake_causal_conv1d_kcp_multi(xl, wl, ctx) + ys = facade.cake_causal_conv1d_det_multi_kcp(xl, wl, ctx) else: ys = [ - facade.cake_causal_conv1d_kcp(x, w, ctx) + facade.cake_causal_conv1d_det_kcp(x, w, ctx) for x, w in zip(xl, wl, strict=True) ] torch.autograd.backward(list(ys), list(dys)) @@ -174,7 +178,7 @@ def test_multi_recompute_handle_bitwise_single_handles( """A checkpoint of the multi call with ONE handle equals a checkpoint of the single calls with one handle each, the plain checkpoints and the direct pass, bitwise; the recompute replays the entry ("replay"); the handle holds the n pools (the saved set's own tensors, the forward's ``hist`` bits) and retains their bytes.""" - from flashinfer import cake_causal_conv1d_train as facade + from flashinfer import cake_causal_conv1d_det_train_kcp as facade conv_kcp = _kcp() device = torch.device("cuda") @@ -188,11 +192,11 @@ def run(multi: bool, handles, *, ckpt=True): def fn(*args): a_x, a_w, a_h = args[:n], args[n : 2 * n], args[2 * n :] if multi: - return facade.cake_causal_conv1d_kcp_multi( + return facade.cake_causal_conv1d_det_multi_kcp( a_x, a_w, ctx, recompute_handle=a_h[0] ) return tuple( - facade.cake_causal_conv1d_kcp(x, w, ctx, recompute_handle=h) + facade.cake_causal_conv1d_det_kcp(x, w, ctx, recompute_handle=h) for x, w, h in zip(a_x, a_w, a_h, strict=True) ) @@ -205,10 +209,10 @@ def fn(*args): ] direct = run(False, [None] * n, ckpt=False) - singles_h = [conv_kcp.KcpRecomputeHandle() for _ in range(n)] + singles_h = [conv_kcp.RecomputeHandleDetKcp() for _ in range(n)] single_handles = run(False, singles_h) plain_multi = run(True, [None]) - h = conv_kcp.KcpRecomputeHandle() + h = conv_kcp.RecomputeHandleDetKcp() conv_kcp.LAST_CALL.pop("recompute_handle", None) multi_handle = run(True, [h]) assert conv_kcp.LAST_CALL["recompute_handle"] == {"fwd": "replay", "n": n} @@ -233,7 +237,7 @@ def test_multi_recompute_handle_retain_graph_and_nested() -> None: outside nested regions serves both recomputes; the multi handle may also carry another package's entry.""" from torch.utils.checkpoint import checkpoint - from flashinfer import cake_causal_conv1d_train as facade + from flashinfer import cake_causal_conv1d_det_train_kcp as facade conv_kcp = _kcp() device = torch.device("cuda") @@ -242,7 +246,7 @@ def test_multi_recompute_handle_retain_graph_and_nested() -> None: ) def fn(xq, xk, xv, wq, wk, wv, h): - return facade.cake_causal_conv1d_kcp_multi( + return facade.cake_causal_conv1d_det_multi_kcp( (xq, xk, xv), (wq, wk, wv), ctx, recompute_handle=h ) @@ -256,7 +260,7 @@ def leaves(): torch.autograd.backward(list(ys), list(dys)) direct = [t.grad for t in a] a = leaves() - h = conv_kcp.KcpRecomputeHandle() + h = conv_kcp.RecomputeHandleDetKcp() h.entries["kda"] = {"marker": torch.zeros(1, device=device)} ys = checkpoint(fn, *a, h, use_reentrant=False) torch.autograd.backward(list(ys), list(dys), retain_graph=True) @@ -270,7 +274,7 @@ def outer(*args): return tuple(y * torch.ones_like(y) for y in yi) a = leaves() - h = conv_kcp.KcpRecomputeHandle() + h = conv_kcp.RecomputeHandleDetKcp() ys = checkpoint(outer, *a, h, use_reentrant=False) conv_kcp.LAST_CALL.pop("recompute_handle", None) torch.autograd.backward(list(ys), list(dys)) @@ -280,26 +284,32 @@ def outer(*args): def test_multi_recompute_handle_misuse_raises() -> None: - from flashinfer import cake_causal_conv1d_train as facade + from flashinfer import cake_causal_conv1d_det_train_kcp as facade conv_kcp = _kcp() device = torch.device("cuda") ctx, xs, ws, _ = _problem((5000, 1003), (1, 2, 4997, 1003), (512, 512, 512), device) # a handle used outside the backward a second time (reuse across micro-steps) - h = conv_kcp.KcpRecomputeHandle() - facade.cake_causal_conv1d_kcp_multi(xs, ws, ctx, recompute_handle=h) + h = conv_kcp.RecomputeHandleDetKcp() + facade.cake_causal_conv1d_det_multi_kcp(xs, ws, ctx, recompute_handle=h) with pytest.raises(RuntimeError, match="recompute_handle"): - facade.cake_causal_conv1d_kcp_multi(xs, ws, ctx, recompute_handle=h) + facade.cake_causal_conv1d_det_multi_kcp(xs, ws, ctx, recompute_handle=h) # graph replay and a non-handle are refused with pytest.raises(ValueError, match="recompute_handle"): - conv_kcp.cake_causal_conv1d_kcp_multi( - xs, ws, ctx, graph="replay", recompute_handle=conv_kcp.KcpRecomputeHandle() + conv_kcp.cake_causal_conv1d_det_multi_kcp( + xs, + ws, + ctx, + graph="replay", + recompute_handle=conv_kcp.RecomputeHandleDetKcp(), ) with pytest.raises(TypeError, match="entries"): - conv_kcp.cake_causal_conv1d_kcp_multi(xs, ws, ctx, recompute_handle=object()) + conv_kcp.cake_causal_conv1d_det_multi_kcp( + xs, ws, ctx, recompute_handle=object() + ) # entries of a single call / another tensor count are not a multi entry, and the reverse - single = conv_kcp.KcpRecomputeHandle() - facade.cake_causal_conv1d_kcp(xs[0], ws[0], ctx, recompute_handle=single) + single = conv_kcp.RecomputeHandleDetKcp() + facade.cake_causal_conv1d_det_kcp(xs[0], ws[0], ctx, recompute_handle=single) with pytest.raises(ValueError, match="multi-call"): conv_kcp._handle_hists(single.entries["conv"], xs, ctx) with pytest.raises(ValueError, match="multi-call"): @@ -313,13 +323,13 @@ def test_multi_recompute_handle_misuse_raises() -> None: assert all(a is b for a, b in zip(bound, h.entries["conv"]["hists"], strict=True)) # operand shape errors with pytest.raises(TypeError, match="sequences"): - conv_kcp.cake_causal_conv1d_kcp_multi(xs[0], ws[0], ctx) + conv_kcp.cake_causal_conv1d_det_multi_kcp(xs[0], ws[0], ctx) with pytest.raises(ValueError, match="same number"): - conv_kcp.cake_causal_conv1d_kcp_multi(xs, ws[:2], ctx) + conv_kcp.cake_causal_conv1d_det_multi_kcp(xs, ws[:2], ctx) with pytest.raises(ValueError, match="same number"): - conv_kcp.cake_causal_conv1d_kcp_multi([], [], ctx) + conv_kcp.cake_causal_conv1d_det_multi_kcp([], [], ctx) with pytest.raises(ValueError): - conv_kcp.cake_causal_conv1d_kcp_multi_forward( + conv_kcp.cake_causal_conv1d_det_multi_forward_kcp( [xs[0], xs[1][:-1].contiguous()], ws[:2], ctx ) @@ -331,8 +341,8 @@ def test_multi_empty_rank_returns_empty_outputs() -> None: Cs = (512, 256, 512) xs = [torch.empty(0, C, dtype=torch.bfloat16, device=device) for C in Cs] ws = [torch.randn(C, WIDTH, device=device) for C in Cs] - ys, hists = conv_kcp.cake_causal_conv1d_kcp_multi_forward(xs, ws, ctx) - dxs, dws = conv_kcp.cake_causal_conv1d_kcp_multi_backward( + ys, hists = conv_kcp.cake_causal_conv1d_det_multi_forward_kcp(xs, ws, ctx) + dxs, dws = conv_kcp.cake_causal_conv1d_det_multi_backward_kcp( xs, ws, ctx, [torch.empty_like(x) for x in xs], hists ) for y, dx, dw, C in zip(ys, dxs, dws, Cs, strict=True): @@ -353,11 +363,11 @@ def test_multi_graph_replay_is_bitwise() -> None: try: events = [] for _ in range(4): - ys, hists = conv_kcp.cake_causal_conv1d_kcp_multi_forward( + ys, hists = conv_kcp.cake_causal_conv1d_det_multi_forward_kcp( xs, ws, ctx, graph="replay" ) events.append(conv_kcp.LAST_CALL["fwd_multi"]["graph_event"]) - dxs, dws = conv_kcp.cake_causal_conv1d_kcp_multi_backward( + dxs, dws = conv_kcp.cake_causal_conv1d_det_multi_backward_kcp( xs, ws, ctx, dys, hists, graph="replay" ) events.append(conv_kcp.LAST_CALL["bwd_multi"]["graph_event"]) @@ -376,7 +386,7 @@ def test_multi_graph_replay_is_bitwise() -> None: ], events # the autograd entry carries the keyword to the forward and the backward xl = [x.clone().requires_grad_(True) for x in xs] - ys = conv_kcp.cake_causal_conv1d_kcp_multi(xl, ws, ctx, graph="replay") + ys = conv_kcp.cake_causal_conv1d_det_multi_kcp(xl, ws, ctx, graph="replay") assert conv_kcp.LAST_CALL["fwd_multi"]["graph"] == "replay" torch.autograd.backward(list(ys), list(dys)) assert conv_kcp.LAST_CALL["bwd_multi"]["graph"] == "replay" @@ -398,27 +408,30 @@ def test_multi_one_rank_issues_no_exchange(monkeypatch) -> None: monkeypatch.setattr( conv_kcp, "_exchange", lambda *a, **kw: calls.append(1) or original(*a, **kw) ) - ys, hists = conv_kcp.cake_causal_conv1d_kcp_multi_forward(xs, ws, ctx) - conv_kcp.cake_causal_conv1d_kcp_multi_backward(xs, ws, ctx, dys, hists) + ys, hists = conv_kcp.cake_causal_conv1d_det_multi_forward_kcp(xs, ws, ctx) + conv_kcp.cake_causal_conv1d_det_multi_backward_kcp(xs, ws, ctx, dys, hists) assert calls == [] def test_facade_multi_entry_is_lazy_and_keyword_only() -> None: - """The facade's ``cake_causal_conv1d_kcp_multi`` is exported, takes ``recompute_handle`` keyword-only (default - ``None``) and importing the facade still does not import the KCP host modules (fresh interpreter).""" + """The KCP facade's ``cake_causal_conv1d_det_multi_kcp`` is exported, takes ``recompute_handle`` keyword-only + (default ``None``), is the det facade's previous ``cake_causal_conv1d_kcp_multi``, and importing either facade + still does not import the KCP host modules (fresh interpreter).""" import subprocess import sys code = ( "import inspect, sys\n" - "import flashinfer.cake_causal_conv1d_train as f\n" - "kcp = 'flashinfer.cake_causal_conv1d_train_backend.kcp'\n" + "import flashinfer.cake_causal_conv1d_det_train_kcp as f\n" + "import flashinfer.cake_causal_conv1d_det_train as d\n" + "kcp = 'flashinfer.cake_causal_conv1d_det_train_backend.kcp'\n" "assert kcp not in sys.modules\n" - "s = inspect.signature(f.cake_causal_conv1d_kcp_multi).parameters\n" + "s = inspect.signature(f.cake_causal_conv1d_det_multi_kcp).parameters\n" "assert list(s) == ['xs', 'weights', 'ctx', 'recompute_handle'], list(s)\n" "p = s['recompute_handle']\n" "assert p.kind is inspect.Parameter.KEYWORD_ONLY and p.default is None\n" - "assert 'cake_causal_conv1d_kcp_multi' in f.__all__ and kcp not in sys.modules\n" + "assert d.cake_causal_conv1d_kcp_multi is f.cake_causal_conv1d_det_multi_kcp\n" + "assert 'cake_causal_conv1d_det_multi_kcp' in f.__all__ and kcp not in sys.modules\n" "print('FACADE_MULTI_OK')\n" ) r = subprocess.run( diff --git a/tests/test_cake_causal_conv1d_det_train_kcp_multi_dist.py b/tests/test_cake_causal_conv1d_det_train_kcp_multi_dist.py index 0add6214c28..4c8e4d1ca1e 100644 --- a/tests/test_cake_causal_conv1d_det_train_kcp_multi_dist.py +++ b/tests/test_cake_causal_conv1d_det_train_kcp_multi_dist.py @@ -13,8 +13,8 @@ See the License for the specific language governing permissions and limitations under the License. -Multi-GPU rows of ``cake_causal_conv1d_kcp_multi`` (FlashInfer issue #7815): the q / k / v convolutions of a layer -with one halo exchange per direction, against one ``cake_causal_conv1d_kcp`` call per tensor. ``W`` ranks over NCCL, +Multi-GPU rows of ``cake_causal_conv1d_det_multi_kcp`` (FlashInfer issue #7815): the q / k / v convolutions of a layer +with one halo exchange per direction, against one ``cake_causal_conv1d_det_kcp`` call per tensor. ``W`` ranks over NCCL, each holding the fragments of one partition of a packed batch (contiguous, zigzag, per-document zigzag, ragged tables with a zero-token rank, one-token fragments and a fragment that reads its history from three predecessor ranks). Per row and rank: @@ -28,7 +28,7 @@ - the multi handle retains exactly the n history pools (``nbytes`` and the allocator's bytes after the forward); - ``graph="replay"`` of the multi forward / backward is bitwise the eager single calls on every call. -Launch forms as ``test_cake_causal_conv1d_train_kcp_dist.py``: ``torch.multiprocessing`` (``pytest``: skipped when +Launch forms as ``test_cake_causal_conv1d_det_train_kcp_dist.py``: ``torch.multiprocessing`` (``pytest``: skipped when fewer than ``W`` CUDA devices are visible) and one process per Slurm task (``SLURM_NTASKS == W``; the rendezvous from ``MASTER_ADDR`` / ``MASTER_PORT``; rows of another ``W`` are skipped under a multi-task step). """ @@ -46,7 +46,7 @@ import torch.distributed as dist import torch.multiprocessing as mp -from tests.test_cake_causal_conv1d_train_kcp_dist import ( +from tests.test_cake_causal_conv1d_det_train_kcp_dist import ( _free_port, _local, _partition, @@ -148,8 +148,9 @@ def _report(W: int, row, flags: dict, info: dict, result_dir, rank: int, tag: st def _run_rank(rank: int, W: int, row, port: int, result_dir, local_id: int) -> dict: from torch.utils.checkpoint import checkpoint - from flashinfer import cake_causal_conv1d_train as conv - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer import cake_causal_conv1d_det_train as conv + from flashinfer import cake_causal_conv1d_det_train_kcp as kcp_api + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp Cs = row[3] n = len(Cs) @@ -165,11 +166,11 @@ def layer(multi: bool, c): def fn(*args): a_x, a_w, a_h = args[:n], args[n : 2 * n], args[2 * n :] if multi: - return conv.cake_causal_conv1d_kcp_multi( + return kcp_api.cake_causal_conv1d_det_multi_kcp( a_x, a_w, c, recompute_handle=a_h[0] ) return tuple( - conv.cake_causal_conv1d_kcp(x, w, c, recompute_handle=h) + kcp_api.cake_causal_conv1d_det_kcp(x, w, c, recompute_handle=h) for x, w, h in zip(a_x, a_w, a_h, strict=True) ) @@ -198,7 +199,7 @@ def run( def outer(*args): hh = ( - [conv_kcp.KcpRecomputeHandle()] + [conv_kcp.RecomputeHandleDetKcp()] if mode == "nested_in" else list(args[2 * n :]) ) @@ -233,19 +234,23 @@ def table(o, r, b): info: dict[str, object] = {"n_hist_rows": n_hist, "T_r": int(xs[0].shape[0])} s_direct, cs_direct = run(False, "direct") s_plain, cs_plain = run(False, "ckpt") - s_hds = [conv_kcp.KcpRecomputeHandle() for _ in range(n)] + s_hds = [conv_kcp.RecomputeHandleDetKcp() for _ in range(n)] s_handle, cs_handle = run(False, "ckpt", s_hds) m_direct, cm_direct = run(True, "direct") m_plain, cm_plain = run(True, "ckpt") - m_hd = conv_kcp.KcpRecomputeHandle() + m_hd = conv_kcp.RecomputeHandleDetKcp() m_handle, cm_handle = run(True, "ckpt", [m_hd]) m_plain_re, cm_plain_re = run(True, "ckpt", reentrant=True) m_handle_re, cm_handle_re = run( - True, "ckpt", [conv_kcp.KcpRecomputeHandle()], reentrant=True + True, "ckpt", [conv_kcp.RecomputeHandleDetKcp()], reentrant=True ) - m_twice, cm_twice = run(True, "ckpt", [conv_kcp.KcpRecomputeHandle()], twice=True) - m_nest_out, cm_nest_out = run(True, "nested_out", [conv_kcp.KcpRecomputeHandle()]) - m_nest_in, cm_nest_in = run(True, "nested_in", [conv_kcp.KcpRecomputeHandle()]) + m_twice, cm_twice = run( + True, "ckpt", [conv_kcp.RecomputeHandleDetKcp()], twice=True + ) + m_nest_out, cm_nest_out = run( + True, "nested_out", [conv_kcp.RecomputeHandleDetKcp()] + ) + m_nest_in, cm_nest_in = run(True, "nested_in", [conv_kcp.RecomputeHandleDetKcp()]) info["counts"] = { "single_direct": cs_direct, "single_plain": cs_plain, @@ -268,7 +273,7 @@ def table(o, r, b): part, rank, cu, - conv.cake_causal_conv1d(xs_all[i].to(device), ws[i], cu_dev), + conv.cake_causal_conv1d_det(xs_all[i].to(device), ws[i], cu_dev), ), ) for i in range(n) @@ -317,7 +322,7 @@ def table(o, r, b): ) # retained bytes after a checkpointed forward: the n history pools with a handle, 0 without retained = {} - for name, h in (("plain", None), ("handle", conv_kcp.KcpRecomputeHandle())): + for name, h in (("plain", None), ("handle", conv_kcp.RecomputeHandleDetKcp())): xl, wl = leaves() torch.cuda.synchronize(device) gc.collect() @@ -338,7 +343,7 @@ def table(o, r, b): gctx = gplan.build_kcp_context(gpart, dist.group.WORLD, rank, device) g_single, cg_single = run(False, "direct", c=gctx) g_multi, cg_multi = run(True, "direct", c=gctx) - g_handle, cg_handle = run(True, "ckpt", [conv_kcp.KcpRecomputeHandle()], c=gctx) + g_handle, cg_handle = run(True, "ckpt", [conv_kcp.RecomputeHandleDetKcp()], c=gctx) info["counts"]["gdn_ctx"] = { "single_direct": cg_single, "multi_direct": cg_multi, @@ -361,22 +366,22 @@ def _run_rank_graph( ) -> dict: """``graph="replay"`` of the multi forward / backward: eager, capture, replay -- bitwise the eager single calls on every call; a rank without tokens is never captured (it joins each collective eagerly).""" - from flashinfer.cake_causal_conv1d_train_backend import kcp as conv_kcp + from flashinfer.cake_causal_conv1d_det_train_backend import kcp as conv_kcp device, part, cu, ctx, xs_all, xs, ws, dys = _setup(rank, W, row, port, local_id) ref = [] for x, w, dy in zip(xs, ws, dys, strict=True): - y, hist = conv_kcp.cake_causal_conv1d_kcp_forward(x, w, ctx) - dx, dw = conv_kcp.cake_causal_conv1d_kcp_backward(x, w, ctx, dy, hist) + y, hist = conv_kcp.cake_causal_conv1d_det_forward_kcp(x, w, ctx) + dx, dw = conv_kcp.cake_causal_conv1d_det_backward_kcp(x, w, ctx, dy, hist) ref.append((y, hist, dx, dw)) events, ok = [], True try: for _ in range(4): - ys, hists = conv_kcp.cake_causal_conv1d_kcp_multi_forward( + ys, hists = conv_kcp.cake_causal_conv1d_det_multi_forward_kcp( xs, ws, ctx, graph="replay" ) events.append(conv_kcp.LAST_CALL["fwd_multi"]["graph_event"]) - dxs, dws = conv_kcp.cake_causal_conv1d_kcp_multi_backward( + dxs, dws = conv_kcp.cake_causal_conv1d_det_multi_backward_kcp( xs, ws, ctx, dys, hists, graph="replay" ) events.append(conv_kcp.LAST_CALL["bwd_multi"]["graph_event"]) @@ -440,7 +445,7 @@ def _launch(row, graph: bool) -> None: assert report["pass"], report return if not _supported(): - pytest.skip("cake_causal_conv1d_train needs a supported CUDA device") + pytest.skip("cake_causal_conv1d_det_train needs a supported CUDA device") if torch.cuda.device_count() < W: pytest.skip(f"{W} CUDA devices required, {torch.cuda.device_count()} visible") with tempfile.TemporaryDirectory(prefix="cake_conv_kcp_multi_dist_") as tmp: From 4d911f97f0306b70c332150c25179119aafac26a Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 14:06:23 -0700 Subject: [PATCH 07/10] chore(causal_conv1d): the manifest check reads the conv package's KCP registry The package's build.json also lists the programs of its context-parallel registry kcp_jit.py. The check now reads the MODULES records of kcp_jit.py beside cake_jit.py, so those entries are no longer reported as referenced by no registry record. Co-Authored-By: Claude --- scripts/check_cake_build_manifests.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/check_cake_build_manifests.py b/scripts/check_cake_build_manifests.py index ca759fecbaa..385b29c6cb2 100755 --- a/scripts/check_cake_build_manifests.py +++ b/scripts/check_cake_build_manifests.py @@ -303,6 +303,14 @@ def refs_shipped_modules(package_dir: Path, loader: str) -> set[str]: return generic_library_refs(module_literals(package_dir / loader)["MODULES"]) +def refs_with_kcp(package_dir: Path, loader: str) -> set[str]: + """A package whose ``build.json`` also lists the programs of its context-parallel registry ``kcp_jit.py``: the + generic walk over ``loader`` and the ``MODULES`` records of ``kcp_jit.py``.""" + return refs_generic(package_dir, loader) | refs_shipped_modules( + package_dir, "kcp_jit.py" + ) + + def refs_mok_bf16(package_dir: Path, loader: str) -> set[str]: """``sources.json``: role -> {library, arches, arguments}.""" registry = json.loads((package_dir / loader).read_text()) @@ -338,7 +346,7 @@ class Package: "flashinfer.cake_causal_conv1d_det_train_backend", "flashinfer/cake_causal_conv1d_det_train_backend", "cake_jit.py", - refs_generic, + refs_with_kcp, ), Package( "flashinfer.cake_gated_act_mxfp8_backend", From 93b4ca44525bfe2173927bc17f24552b63912866 Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 15:34:21 -0700 Subject: [PATCH 08/10] chore(causal_conv1d): rename the conv KCP programs to the det_kcp names The five context-parallel programs keep the code they ship with; only their names change. The registry kcp_jit.py, the programs' CUDA sources (file names, kernel symbols, binding namespaces) and their build.json entries (names, paths, sources, digests) now use the cake_causal_conv1d_det_train__kcp library names. The digests and all other bytes are unchanged; the single-rank programs are untouched. Co-Authored-By: Claude --- .../build.json | 552 +++++++++--------- ...train_17cd42fb05079bbbf840_kcp_binding.cu} | 14 +- ..._train_17cd42fb05079bbbf840_kcp_kernel.cu} | 2 +- ...train_5288d132a5cc927ae729_kcp_binding.cu} | 16 +- ..._train_5288d132a5cc927ae729_kcp_kernel.cu} | 2 +- ...train_675940a7a4fc0dba4b53_kcp_binding.cu} | 14 +- ..._train_675940a7a4fc0dba4b53_kcp_kernel.cu} | 2 +- ...train_6ea6d5fc9e7fa3f2d039_kcp_binding.cu} | 16 +- ..._train_6ea6d5fc9e7fa3f2d039_kcp_kernel.cu} | 2 +- ...train_7485529a1755e5bd3036_kcp_binding.cu} | 16 +- ..._train_7485529a1755e5bd3036_kcp_kernel.cu} | 2 +- .../kcp_jit.py | 64 +- 12 files changed, 351 insertions(+), 351 deletions(-) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu => cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu} (85%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu => cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu} (98%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu => cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu} (90%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu => cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu} (99%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu => cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu} (86%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu => cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu} (98%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu => cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_binding.cu} (86%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu => cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_kernel.cu} (99%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu => cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu} (90%) rename flashinfer/cake_causal_conv1d_det_train_backend/csrc/{cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu => cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu} (99%) diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/build.json b/flashinfer/cake_causal_conv1d_det_train_backend/build.json index ae40ed0ca56..3a391fe62ac 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/build.json +++ b/flashinfer/cake_causal_conv1d_det_train_backend/build.json @@ -267,6 +267,75 @@ "csrc/cake_causal_conv1d_det_train_176ebb3e14f7ad9c94dc_binding.cu" ] }, + { + "arch": "sm_100a", + "closure_sha256": "26c222026c9702ee06368c4a610764250f909f2c675494e5bce6ec22bb6e6011", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu": "32cc3199c7bb5ecde0352b8226ab8cdb5cb2b5f48af126fb3a7c52787e37ae2c", + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu": "b6473f6b5be6f2a3f817796a6c3bd5bdf7c9cc9c4e4943d985f4531a1dd6efb7" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "da31b5fdd6bc76d6f6fbb8b2653206741311db7819e8865673e7507f16d55250", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu": "32cc3199c7bb5ecde0352b8226ab8cdb5cb2b5f48af126fb3a7c52787e37ae2c", + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu": "b6473f6b5be6f2a3f817796a6c3bd5bdf7c9cc9c4e4943d985f4531a1dd6efb7" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "ab1f258559701e2bf4000feff3df8b082df80c251efcd1dbc9b6d61ae84c53a3", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu": "32cc3199c7bb5ecde0352b8226ab8cdb5cb2b5f48af126fb3a7c52787e37ae2c", + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu": "b6473f6b5be6f2a3f817796a6c3bd5bdf7c9cc9c4e4943d985f4531a1dd6efb7" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu" + ] + }, { "arch": "sm_100a", "closure_sha256": "06d38d8dd2cca1f5b61d40f45559251d23b82432b890ae584ddff7697ae86a2d", @@ -658,6 +727,213 @@ "csrc/cake_causal_conv1d_det_train_517710d1f0988cf570a9_binding.cu" ] }, + { + "arch": "sm_100a", + "closure_sha256": "8ccac0b98cde9e1b521ab5e2235dca0ed915e4145b31282feee3895f15aa8afa", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu": "e00d9d0abdb1132c192a64236f4c30c06777c71f0ae40e7a6e1c564388fbd520", + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu": "1e20861d7240cc1606a4431b9a749c01c0c16ef648950703213ea30c50ebf304" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "77f52e46f5c1298994c88eaeaa9ba62119f6d1b198954832e9be84bcaef29be1", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu": "e00d9d0abdb1132c192a64236f4c30c06777c71f0ae40e7a6e1c564388fbd520", + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu": "1e20861d7240cc1606a4431b9a749c01c0c16ef648950703213ea30c50ebf304" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "e0af865de71a2db56b91988633129ed967b5ec72e188bcf656269599b28159a4", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu": "932a2c903f5475e4ce279e7f0b4bd7247c4fbaf47cbd24276ac6c67663c70cf4", + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu": "e6bd58aca087be8358e9daf1073520abcafb0d3dc268781205a7b06da3d82058" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "2181d42e9003674316e9ed8c5a2ecf75c55ecd4e141a05afb8c7000e3c22fd21", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu": "932a2c903f5475e4ce279e7f0b4bd7247c4fbaf47cbd24276ac6c67663c70cf4", + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu": "e6bd58aca087be8358e9daf1073520abcafb0d3dc268781205a7b06da3d82058" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "56d15c3792d1e1b977eaed0eb31cde0850eb8389ae7acfa9c3381d76cde0c30d", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu": "932a2c903f5475e4ce279e7f0b4bd7247c4fbaf47cbd24276ac6c67663c70cf4", + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu": "e6bd58aca087be8358e9daf1073520abcafb0d3dc268781205a7b06da3d82058" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "8e297251f7b1acf865ada0ce212233b166d2e7694b4098245d5d210cef3fcb1e", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_binding.cu": "702586accf2a02a76ff4545f032ff55c52be267cc49e8a5dc8f2d0b59dec9549", + "csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_kernel.cu": "a68547515c30ab67f64534485c7ebec9d914cdcb5f9e4a8d86b53cfe42bc7adb" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_binding.cu" + ] + }, + { + "arch": "sm_100a", + "closure_sha256": "84ab4a570e7c3bf2099145a22882ce28b86da724540078beb94dd4eadffd4d53", + "entry": "run", + "gencode": "-gencode=arch=compute_100a,code=sm_100a", + "min_cuda": "12.8", + "name": "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_sm_100a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_sm_100a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu": "8e915af6d99cfa1d2f84ce59514ed693546e6cae06a8def4bbb1291f1fd42a9d", + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu": "ff9626cd8e86f2ec2c14bfbe6e270400d0b48de31d8ca07cc3c0801d721be7b6" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu" + ] + }, + { + "arch": "sm_103a", + "closure_sha256": "9f3b4a003e95870747c6203edd6e2a1fd5dc7059968b10a0dcbe017d3e295a0b", + "entry": "run", + "gencode": "-gencode=arch=compute_103a,code=sm_103a", + "min_cuda": "12.9", + "name": "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_sm_103a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_sm_103a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu": "8e915af6d99cfa1d2f84ce59514ed693546e6cae06a8def4bbb1291f1fd42a9d", + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu": "ff9626cd8e86f2ec2c14bfbe6e270400d0b48de31d8ca07cc3c0801d721be7b6" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu" + ] + }, + { + "arch": "sm_107a", + "closure_sha256": "fa8ff764c3c8183dab00424d91c9a9c957cf2e73621f8c13f0c55f2c71936d03", + "entry": "run", + "gencode": "-gencode=arch=compute_107a,code=sm_107a", + "min_cuda": "13.4", + "name": "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_sm_107a", + "nvcc_flags": [ + "--prec-div=true", + "--prec-sqrt=true", + "--ftz=false" + ], + "nvcc_flags_if": [], + "path": "aot/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_sm_107a.so", + "sha256": { + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu": "8e915af6d99cfa1d2f84ce59514ed693546e6cae06a8def4bbb1291f1fd42a9d", + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu": "ff9626cd8e86f2ec2c14bfbe6e270400d0b48de31d8ca07cc3c0801d721be7b6" + }, + "sources": [ + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu", + "csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu" + ] + }, { "arch": "sm_107a", "closure_sha256": "34b3426d38733e0d11e088a9270f964aa5634894eae9a716bffbb81b209f431a", @@ -1462,282 +1738,6 @@ "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_kernel.cu", "csrc/cake_causal_conv1d_det_train_f5497330bfd286211643_binding.cu" ] - }, - { - "arch": "sm_100a", - "closure_sha256": "053e4624381ef6055fac3af9599e1aa87504607dcc4216d91c3ee348474e824b", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "1f4646c653522f1a20a294aa89e1fa1e7972874d0dc48704d5d18710d4dcfaf6", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "6f2cf0fec3e5bbc4af75d083182549c0aa94a348aca19a6d1cf2dfb94107a35d", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_17cd42fb05079bbbf840_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu": "d3bf4559f22c2838efbe1a577109579f4cc37ea38df458393174aad7e4f6c6f5", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu": "481412ca78511d5e1331ec1bd1c6eb2a76c3593e2fe35b8c1e97074a5376ad30" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu", - "csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "c187d4e484108e3451d5997c74881e67c0ddf42bed070cc466ad971ebdf4111c", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_5288d132a5cc927ae729_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_5288d132a5cc927ae729_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu": "e9d1f51f3fa33ef96560a5590a4a38f6e0ef1a479cb57c935b2b53ce3853e62e", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu": "c06d37a5fa4667d6e40d817114f5796fce09db3046085667b62e55247f8923d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "2b0e305e5e88d3fc64d508ccbb96ce3d4a742a4869a68f57efa6b09acdd4e548", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_5288d132a5cc927ae729_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_5288d132a5cc927ae729_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu": "e9d1f51f3fa33ef96560a5590a4a38f6e0ef1a479cb57c935b2b53ce3853e62e", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu": "c06d37a5fa4667d6e40d817114f5796fce09db3046085667b62e55247f8923d8" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu", - "csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "f0427a3c00fbfc0edb6650a4a7fa3b2924b64b4a0889987e39cdec0cf454c795", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "2844a4a678354529feae15c785c62c936f7cf69ccbaf0e96b1df961523792782", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "ae72b27ad4f9ebb0bc37e0ee5d8c54b10563d287927113bbad65c7f7f1978ef2", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_675940a7a4fc0dba4b53_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu": "97ccb20269af554aa4e1317d2e0fe4c152020843672cabf717a02eef279bb99a", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu": "5e66fbcee4ba701174c6a46a6fa34cb6871d583df301567b00469e65ce6f84ed" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu", - "csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "1d8db0e374474def19a949290afc97ed16901601248972dfaf1d59b7b61d17e3", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu": "c1332ab0469a57049c78246a1beef72ea071926cdb9d43edcd43872c88299c04", - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu": "bbf0d05a8c9756d50f5b6776c375f5844057d5c39703835bddac5ebe09cc51b0" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu", - "csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu" - ] - }, - { - "arch": "sm_100a", - "closure_sha256": "678b6680e1b2e2a9abee3effdcc465507a507d8f1f6a8e935c057ef980c47c3b", - "entry": "run", - "gencode": "-gencode=arch=compute_100a,code=sm_100a", - "min_cuda": "12.8", - "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_100a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_100a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" - ] - }, - { - "arch": "sm_103a", - "closure_sha256": "0cdc90f376954df81b7f340f2e799721363be99cabfec85887b75d1b32342fef", - "entry": "run", - "gencode": "-gencode=arch=compute_103a,code=sm_103a", - "min_cuda": "12.9", - "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_103a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_103a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" - ] - }, - { - "arch": "sm_107a", - "closure_sha256": "6c44bdb9195fa1cddd588a25915f5229008f90044a4288521471c93fb1dd2ae3", - "entry": "run", - "gencode": "-gencode=arch=compute_107a,code=sm_107a", - "min_cuda": "13.4", - "name": "cake_causal_conv1d_train_7485529a1755e5bd3036_sm_107a", - "nvcc_flags": [ - "--prec-div=true", - "--prec-sqrt=true", - "--ftz=false" - ], - "nvcc_flags_if": [], - "path": "aot/cake_causal_conv1d_train_7485529a1755e5bd3036_sm_107a.so", - "sha256": { - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu": "1c13d9c6dc0599cb8772834dd5d272c3ac0194540fd9ad020f33166ead91e80c", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu": "de02c69950ec7e2ab628bb61fb21991cc8d6e485ea6064eb535c4fdcb807628b" - }, - "sources": [ - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu", - "csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu" - ] } ], "package": "flashinfer.cake_causal_conv1d_det_train_backend", diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu similarity index 85% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu index 111876d2582..557eb0be8f0 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_head, int* __restrict__ head_row_off, int S, int C, int num_docs); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_head, int* __restrict__ head_row_off, int S, int C, int num_docs); -namespace cake_binding_kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -102,11 +102,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 0; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu similarity index 98% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu index a4ef33ca959..d7f0776405d 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_17cd42fb05079bbbf840_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp_kernel.cu @@ -76,7 +76,7 @@ __device__ __forceinline__ float mul_f32_rn_noftz(float a, float b) { extern "C" { __global__ __launch_bounds__(128) void -kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_head, int* __restrict__ head_row_off, int S, int C, int num_docs) +kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_head, int* __restrict__ head_row_off, int S, int C, int num_docs) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu similarity index 90% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu index a88e0e8b19b..b064ffd656b 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_5288d132a5cc927ae729, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_5288d132a5cc927ae729(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_5288d132a5cc927ae729 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_5288d132a5cc927ae729"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -208,7 +208,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_5288d132a5cc927ae729), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -243,11 +243,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso attrs[0].val.cooperative = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_5288d132a5cc927ae729), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_5288d132a5cc927ae729 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_5288d132a5cc927ae729::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu index 6f32a637fe4..23d6de47619 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_5288d132a5cc927ae729_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp_kernel.cu @@ -162,7 +162,7 @@ __device__ __forceinline__ float mul_f32_rn_noftz(float a, float b) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_5288d132a5cc927ae729(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu index 12eaa156426..ddd04d853e9 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); -namespace cake_binding_kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -108,11 +108,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_y, Tensor config.blockDim = dim3(128, 1, 1); config.dynamicSmemBytes = 33792; config.stream = stream; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu similarity index 98% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu index 67c8801961a..42e5fc6d9ba 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_675940a7a4fc0dba4b53_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp_kernel.cu @@ -139,7 +139,7 @@ __device__ __forceinline__ float mul_f32_rn_noftz(float a, float b) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) +kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ y, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_binding.cu similarity index 86% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_binding.cu index 2aad3710643..4dc3f427302 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp, for the device source that defines it. Do not edit. #include #include @@ -22,13 +22,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles); -namespace cake_binding_kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -114,7 +114,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso static thread_local uint64_t prepared_devices = 0; const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp), cudaFuncAttributeMaxDynamicSharedMemorySize, 50176), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -147,11 +147,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso attrs[0].val.cooperative = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_kernel.cu index ee4e4b81ac0..6931ec4a87f 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp_kernel.cu @@ -149,7 +149,7 @@ __device__ __forceinline__ float mul_f32_rn_noftz(float a, float b) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) +kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu similarity index 90% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu index c883a6e7339..cab2097c041 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_binding.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_binding.cu @@ -14,7 +14,7 @@ * limitations under the License. */ -// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_train_7485529a1755e5bd3036, for the device source that defines it. Do not edit. +// Generated by Cake: the tvm-ffi host binding of kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp, for the device source that defines it. Do not edit. #include #include #include @@ -23,13 +23,13 @@ #include -extern "C" __global__ void kernel_cake_causal_conv1d_train_7485529a1755e5bd3036(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); +extern "C" __global__ void kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map); -namespace cake_binding_kernel_cake_causal_conv1d_train_7485529a1755e5bd3036 { +namespace cake_binding_kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp { using tvm::ffi::TensorView; -constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_train_7485529a1755e5bd3036"; +constexpr const char* KERNEL_NAME = "kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp"; void CheckCuda(cudaError_t status, const char* what) { TVM_FFI_CHECK(status == cudaSuccess, RuntimeError) @@ -208,7 +208,7 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso const uint64_t device_bit = dev.device_id < 64 ? uint64_t{1} << dev.device_id : uint64_t{0}; if (device_bit == 0 || (prepared_devices & device_bit) == 0) { CheckCuda(cudaSetDevice(dev.device_id), "cudaSetDevice"); - CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_train_7485529a1755e5bd3036), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); + CheckCuda(cudaFuncSetAttribute(reinterpret_cast(kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp), cudaFuncAttributeMaxDynamicSharedMemorySize, 82944), "cudaFuncSetAttribute"); prepared_devices |= device_bit; } } @@ -243,11 +243,11 @@ void Run(TensorView a_x, TensorView a_w, TensorView a_cu, TensorView a_dy, Tenso attrs[0].val.cooperative = 1; config.attrs = attrs; config.numAttrs = 1; - CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_train_7485529a1755e5bd3036), kernel_args), + CheckCuda(cudaLaunchKernelExC(&config, reinterpret_cast(kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp), kernel_args), "cudaLaunchKernelExC"); } -} // namespace cake_binding_kernel_cake_causal_conv1d_train_7485529a1755e5bd3036 +} // namespace cake_binding_kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp -TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_train_7485529a1755e5bd3036::Run); +TVM_FFI_DLL_EXPORT_TYPED_FUNC(run, cake_binding_kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp::Run); TVM_FFI_DLL_EXPORT_TYPED_FUNC(build_cuda_version, cake_ffi_build_cuda_version); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu similarity index 99% rename from flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu rename to flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu index 68c667c4333..9437701d148 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_train_7485529a1755e5bd3036_kernel.cu +++ b/flashinfer/cake_causal_conv1d_det_train_backend/csrc/cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp_kernel.cu @@ -162,7 +162,7 @@ __device__ __forceinline__ float mul_f32_rn_noftz(float a, float b) { extern "C" { __global__ __launch_bounds__(128, LAUNCH_MIN_BLOCKS) void -kernel_cake_causal_conv1d_train_7485529a1755e5bd3036(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) +kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp(__nv_bfloat16* __restrict__ x, float* __restrict__ w, int* __restrict__ cu, __nv_bfloat16* __restrict__ dy, __nv_bfloat16* __restrict__ dx, float* __restrict__ dw, float* __restrict__ partial, __nv_bfloat16* __restrict__ hist, int* __restrict__ hist_row_off, float* __restrict__ dpre_tail, int* __restrict__ tail_row_off, int S, int C, int num_docs, int search_steps, int ct_vec, int n_sub, int n_ch_tiles, const __grid_constant__ CUtensorMap x_map, const __grid_constant__ CUtensorMap dy_map) { const int tid = threadIdx.x; const int warp = make_warp_uniform(tid / 32); diff --git a/flashinfer/cake_causal_conv1d_det_train_backend/kcp_jit.py b/flashinfer/cake_causal_conv1d_det_train_backend/kcp_jit.py index 84edb189ac5..89cf4d1f934 100644 --- a/flashinfer/cake_causal_conv1d_det_train_backend/kcp_jit.py +++ b/flashinfer/cake_causal_conv1d_det_train_backend/kcp_jit.py @@ -100,7 +100,7 @@ # ``launch.use_pdl``, ``arg_plan`` and ``logical``) are rewritten by the # exporter from the rendered program; every other field is host plan. MODULES: dict[str, dict[str, Any]] = { - "cake_causal_conv1d_train_675940a7a4fc0dba4b53": { + "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp": { "arches": [ "sm_100a", "sm_103a", @@ -144,8 +144,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_675940a7a4fc0dba4b53", - "kernel_symbol": "kernel_cake_causal_conv1d_train_675940a7a4fc0dba4b53", + "kernel": "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -153,7 +153,7 @@ "dynamic_smem_bytes": 33792, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_675940a7a4fc0dba4b53", + "library": "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp", "logical": { "C": "C", "S": "S", @@ -172,7 +172,7 @@ "role": "kcp_fwd", "workspace_rule": None, }, - "cake_causal_conv1d_train_5288d132a5cc927ae729": { + "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp": { "arches": [ "sm_100a", "sm_103a", @@ -221,8 +221,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_5288d132a5cc927ae729", - "kernel_symbol": "kernel_cake_causal_conv1d_train_5288d132a5cc927ae729", + "kernel": "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -230,7 +230,7 @@ "dynamic_smem_bytes": 50176, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_5288d132a5cc927ae729", + "library": "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp", "logical": { "C": "C", "S": "S", @@ -262,7 +262,7 @@ "taps": 4, }, }, - "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039": { + "cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp": { "arches": [ "sm_107a", ], @@ -302,8 +302,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039", - "kernel_symbol": "kernel_cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039", + "kernel": "cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -311,7 +311,7 @@ "dynamic_smem_bytes": 50176, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039", + "library": "cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp", "logical": { "C": "C", "S": "S", @@ -338,7 +338,7 @@ "taps": 4, }, }, - "cake_causal_conv1d_train_7485529a1755e5bd3036": { + "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp": { "arches": [ "sm_100a", "sm_103a", @@ -384,8 +384,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_7485529a1755e5bd3036", - "kernel_symbol": "kernel_cake_causal_conv1d_train_7485529a1755e5bd3036", + "kernel": "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -393,7 +393,7 @@ "dynamic_smem_bytes": 82944, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_7485529a1755e5bd3036", + "library": "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp", "logical": { "C": "C", "S": "S", @@ -430,7 +430,7 @@ "taps": 4, }, }, - "cake_causal_conv1d_train_17cd42fb05079bbbf840": { + "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp": { "arches": [ "sm_100a", "sm_103a", @@ -471,8 +471,8 @@ }, "kind": "co_resident", }, - "kernel": "cake_causal_conv1d_train_17cd42fb05079bbbf840", - "kernel_symbol": "kernel_cake_causal_conv1d_train_17cd42fb05079bbbf840", + "kernel": "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp", + "kernel_symbol": "kernel_cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp", "launch": { "block": (128, 1, 1), "cluster": (1, 1, 1), @@ -480,7 +480,7 @@ "dynamic_smem_bytes": 0, "use_pdl": False, }, - "library": "cake_causal_conv1d_train_17cd42fb05079bbbf840", + "library": "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp", "logical": { "C": "C", "S": "S", @@ -506,38 +506,38 @@ ROUTES: dict[str, dict[str, list[str]]] = { "sm_100a": { "kcp_bwd": [ - "cake_causal_conv1d_train_5288d132a5cc927ae729", - "cake_causal_conv1d_train_7485529a1755e5bd3036", + "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp", + "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp", ], "kcp_bwd_head": [ - "cake_causal_conv1d_train_17cd42fb05079bbbf840", + "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp", ], "kcp_fwd": [ - "cake_causal_conv1d_train_675940a7a4fc0dba4b53", + "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp", ], }, "sm_103a": { "kcp_bwd": [ - "cake_causal_conv1d_train_5288d132a5cc927ae729", - "cake_causal_conv1d_train_7485529a1755e5bd3036", + "cake_causal_conv1d_det_train_5288d132a5cc927ae729_kcp", + "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp", ], "kcp_bwd_head": [ - "cake_causal_conv1d_train_17cd42fb05079bbbf840", + "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp", ], "kcp_fwd": [ - "cake_causal_conv1d_train_675940a7a4fc0dba4b53", + "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp", ], }, "sm_107a": { "kcp_bwd": [ - "cake_causal_conv1d_train_6ea6d5fc9e7fa3f2d039", - "cake_causal_conv1d_train_7485529a1755e5bd3036", + "cake_causal_conv1d_det_train_6ea6d5fc9e7fa3f2d039_kcp", + "cake_causal_conv1d_det_train_7485529a1755e5bd3036_kcp", ], "kcp_bwd_head": [ - "cake_causal_conv1d_train_17cd42fb05079bbbf840", + "cake_causal_conv1d_det_train_17cd42fb05079bbbf840_kcp", ], "kcp_fwd": [ - "cake_causal_conv1d_train_675940a7a4fc0dba4b53", + "cake_causal_conv1d_det_train_675940a7a4fc0dba4b53_kcp", ], }, } From 536b921ca8f6235682c25d900d8058863c4ec249 Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 21:42:57 -0700 Subject: [PATCH 09/10] chore: keep KDA consumers on compatible conv1d aliases during renames --- benchmarks/bench_cake_kda_train_kcp.py | 8 ++++---- flashinfer/experimental/cake_kda_train/README.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/benchmarks/bench_cake_kda_train_kcp.py b/benchmarks/bench_cake_kda_train_kcp.py index 863ddc8cb56..937c4268cdb 100644 --- a/benchmarks/bench_cake_kda_train_kcp.py +++ b/benchmarks/bench_cake_kda_train_kcp.py @@ -16,7 +16,7 @@ Benchmark of the context-parallel (KCP) Cake packed KDA training step: one process per rank (``torchrun --nproc_per_node N``), every rank timing the module boundary of its fragments -- the KCP causal convolution -(``flashinfer.cake_causal_conv1d_det_train.cake_causal_conv1d_kcp``) followed by +(``flashinfer.cake_causal_conv1d_train.cake_causal_conv1d_kcp``) followed by the KCP KDA step (``flashinfer.kda_train.chunk_kda_kcp``), forward and backward -- with CUDA events, and the slowest rank's time counting for the iteration. @@ -63,8 +63,8 @@ sys.path.insert(0, str(Path(__file__).resolve().parents[1])) -from flashinfer.cake_causal_conv1d_det_train import ( # noqa: E402 - cake_causal_conv1d_det, +from flashinfer.cake_causal_conv1d_train import ( # noqa: E402 + cake_causal_conv1d, cake_causal_conv1d_kcp, ) from flashinfer.kda_train import ( # noqa: E402 @@ -182,7 +182,7 @@ def _step_local(problem: dict[str, Any]) -> None: q, k, v, g, beta = ( local[n].detach().requires_grad_(True) for n in ("q", "k", "v", "g", "beta") ) - y = cake_causal_conv1d_det(x, w, local["cu_seqlens"]) + y = cake_causal_conv1d(x, w, local["cu_seqlens"]) out = chunk_kda(q, k, v, g, beta, local["cu_seqlens"]) torch.autograd.backward([y, out], [local["dy"], local["dout"]]) diff --git a/flashinfer/experimental/cake_kda_train/README.md b/flashinfer/experimental/cake_kda_train/README.md index b3ba4a9d4ba..857fb5b02e2 100644 --- a/flashinfer/experimental/cake_kda_train/README.md +++ b/flashinfer/experimental/cake_kda_train/README.md @@ -574,7 +574,7 @@ the partition's order) and return that shard's outputs and gradients: from flashinfer.kda_train import (kcp_partition, build_kcp_context, chunk_kda_kcp, chunk_kda_kcp_fwd, chunk_kda_kcp_bwd, kcp_workspace_bytes, kcp_saved_bytes, kcp_comm_bytes) -from flashinfer.cake_causal_conv1d_det_train import cake_causal_conv1d_kcp +from flashinfer.cake_causal_conv1d_train import cake_causal_conv1d_kcp part = kcp_partition(cu_seqlens_global_cpu, world_size) # the same object on every rank ctx = build_kcp_context(part, group, rank, device) # this rank's tables and collectives @@ -779,7 +779,7 @@ A recompute handle keeps what the original forward received instead: ```python from flashinfer.kda_train import KcpRecomputeHandle, chunk_kda_kcp -from flashinfer.cake_causal_conv1d_det_train import cake_causal_conv1d_kcp +from flashinfer.cake_causal_conv1d_train import cake_causal_conv1d_kcp def layer(xq, xk, xv, g, beta, hq, hk, hv): q = cake_causal_conv1d_kcp(xq, wq, ctx, recompute_handle=hq) # "conv" entry of hq From 86785e31dd0fe0baffd1a784834a78b224178298 Mon Sep 17 00:00:00 2001 From: Yingyi Huang Date: Fri, 30 Oct 2026 21:42:57 -0700 Subject: [PATCH 10/10] chore: keep KDA consumers on compatible conv1d aliases during renames --- benchmarks/bench_cake_kda_train_kcp.py | 8 ++++---- flashinfer/experimental/cake_kda_train/README.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/benchmarks/bench_cake_kda_train_kcp.py b/benchmarks/bench_cake_kda_train_kcp.py index 863ddc8cb56..937c4268cdb 100644 --- a/benchmarks/bench_cake_kda_train_kcp.py +++ b/benchmarks/bench_cake_kda_train_kcp.py @@ -16,7 +16,7 @@ Benchmark of the context-parallel (KCP) Cake packed KDA training step: one process per rank (``torchrun --nproc_per_node N``), every rank timing the module boundary of its fragments -- the KCP causal convolution -(``flashinfer.cake_causal_conv1d_det_train.cake_causal_conv1d_kcp``) followed by +(``flashinfer.cake_causal_conv1d_train.cake_causal_conv1d_kcp``) followed by the KCP KDA step (``flashinfer.kda_train.chunk_kda_kcp``), forward and backward -- with CUDA events, and the slowest rank's time counting for the iteration. @@ -63,8 +63,8 @@ sys.path.insert(0, str(Path(__file__).resolve().parents[1])) -from flashinfer.cake_causal_conv1d_det_train import ( # noqa: E402 - cake_causal_conv1d_det, +from flashinfer.cake_causal_conv1d_train import ( # noqa: E402 + cake_causal_conv1d, cake_causal_conv1d_kcp, ) from flashinfer.kda_train import ( # noqa: E402 @@ -182,7 +182,7 @@ def _step_local(problem: dict[str, Any]) -> None: q, k, v, g, beta = ( local[n].detach().requires_grad_(True) for n in ("q", "k", "v", "g", "beta") ) - y = cake_causal_conv1d_det(x, w, local["cu_seqlens"]) + y = cake_causal_conv1d(x, w, local["cu_seqlens"]) out = chunk_kda(q, k, v, g, beta, local["cu_seqlens"]) torch.autograd.backward([y, out], [local["dy"], local["dout"]]) diff --git a/flashinfer/experimental/cake_kda_train/README.md b/flashinfer/experimental/cake_kda_train/README.md index b3ba4a9d4ba..857fb5b02e2 100644 --- a/flashinfer/experimental/cake_kda_train/README.md +++ b/flashinfer/experimental/cake_kda_train/README.md @@ -574,7 +574,7 @@ the partition's order) and return that shard's outputs and gradients: from flashinfer.kda_train import (kcp_partition, build_kcp_context, chunk_kda_kcp, chunk_kda_kcp_fwd, chunk_kda_kcp_bwd, kcp_workspace_bytes, kcp_saved_bytes, kcp_comm_bytes) -from flashinfer.cake_causal_conv1d_det_train import cake_causal_conv1d_kcp +from flashinfer.cake_causal_conv1d_train import cake_causal_conv1d_kcp part = kcp_partition(cu_seqlens_global_cpu, world_size) # the same object on every rank ctx = build_kcp_context(part, group, rank, device) # this rank's tables and collectives @@ -779,7 +779,7 @@ A recompute handle keeps what the original forward received instead: ```python from flashinfer.kda_train import KcpRecomputeHandle, chunk_kda_kcp -from flashinfer.cake_causal_conv1d_det_train import cake_causal_conv1d_kcp +from flashinfer.cake_causal_conv1d_train import cake_causal_conv1d_kcp def layer(xq, xk, xv, g, beta, hq, hk, hv): q = cake_causal_conv1d_kcp(xq, wq, ctx, recompute_handle=hq) # "conv" entry of hq